Blueprint架构

==========================================================================

功能式架构

​ 一句话: 按功能模块分区

例如视图和模板分区开来

在功能式架构中,按照每部分代码的功能来组织你的应用。所有模板放到同一个文件夹中,静态文件放在另一个文件夹中,而视图放在第三个文件夹中。

test/

init.py

static/

templates/

home/

control_panel/

admin/

views/

init.py

home.py

control_panel.py

admin.py

models.py

除了_views/init.py_,在_views/文件夹中的每一个.py_文件都是一个蓝图。

在*/init.py*中,我们将加载这些蓝图并在我们的Flask()对象中注册它们。

分区式架构

一句话: 按照影响范围分区

例如主页界面和登录界面分区

在分区式架构中,按照每一部分所属的蓝图来组织你的应用。管理面板的所有的模板,视图和静态文件放在一个文件夹中,用户控制面板的则放在另一个文件夹中。

test/

init.py

admin/

init.py

views.py

static/

templates/

home/

init.py

views.py

static/

templates/

control_panel/

init.py

views.py

static/

templates/

models.py

在像上面列举的分区式结构,每一个_test/之下的文件夹都是一个独立的蓝图。所有的蓝图通过顶级的init.py_注册到Flask()中。

哪种更胜一筹?

选择使用哪种架构实际上是一个个人问题。两者间的唯一区别是表达层次性的方式不同 – 你可以使用任意一种方式架构Flask应用 – 所以你所需的就是选择贴近你的需求的那个。

如果你的应用是由独立的,仅仅共享模型和配置的各组件组成,分区式将是个好选择。

一个例子是允许用户建立网站的SaaS应用。你将会有独立的蓝图用于主页,控制面板,用户网站,和高亮面板。这些组件有着完全不同的静态文件和布局。如果你想要将你的蓝图提取成插件,或用之于别的项目,一个分区式架构将是正确的选择。

另一方面,如果你的应用的组件之间的联系较为紧密,使用功能式架构会更好。

如果Facebook是用Flask开发的,它将有一系列蓝图,用于静态页面(比如登出主页,注册页面,关于,等等),面板(比如最新消息),用户内容(/robert/about和/robert/photos),还有设置页面(/settings/security和/settings/privacy)以及别的。

这些组件都共享一个通用的布局和风格,但每一个都有它自己的布局。下面是一个非常精简的可能的Facebook结构,假定它用的是Flask。

facebook/

init.py

templates/

layout.html

home/

layout.html

index.html

about.html

signup.html

login.html

dashboard/

layout.html

news_feed.html

welcome.html

find_friends.html

profile/

layout.html

timeline.html

about.html

photos.html

friends.html

edit.html

settings/

layout.html

privacy.html

security.html

general.html

views/

init.py

home.py

dashboard.py

profile.py

settings.py

static/

style.css

logo.png

models.py

位于*facebook/view/*下的蓝图更多的是视图的集合而非独立的组件。

同样的静态文件将被大多数蓝图重用。

大多数模板都拓展自一个主模板。

一个功能式的架构是组织这个项目的好的方式。

案例

=================================================================

这里我们选择功能式架构作为分类方案,来实现一个最简单的 登陆注册/后台管理 功能逻辑

其实我更倾向于选择分区式架构来设计我的项目 – 可能是微服务带来的"后遗症"

整理项目

首先创建一个flask项目,并在内做好分区

分别创建:

static目录 存储静态文件 trmplates目录 存储页面文件 views目录 存储路由文件

之后我们创建几个基本的文件

请忽视venv文件夹

填充内容

templates

admin.html

后台管理

后台管理

user.html

欢迎使用

{% if status == “login” %}

登录...

{% elif status == “logup” %}

注册...

{% else %}

status 出错了!

{% endif %}

static

style.css

*{

background: #ce9191;

}

views

admin.py

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

核心竞争力,怎么才能提高呢?

成年人想要改变生活,逆转状态?那就开始学习吧~

万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。

为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。

前端面试题汇总

JavaScript

性能

linux

前端资料汇总

完整版PDF资料免费分享,只需你点赞支持,动动手指点击此处就可领取了。

前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。

226b373d068d8f5bef31e668ce.png)

性能

linux

前端资料汇总

完整版PDF资料免费分享,只需你点赞支持,动动手指点击此处就可领取了。

前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。

推荐链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。

大家都在找:

flask:flask框架官网

python:python手机版

后端:后端组

大家都在看: