深蓝色海洋 发表于 2024-12-3 17:55:45

FLASK蓝本使用初体验,个人对整个构建过程的理解


[*]考虑到后来需要写的项目越来越大了,越来越复杂的内容都塞在一起,到时候改起来折磨的是我自己,于是尝试使用蓝图来构建一个项目。
[*]蓝本是什么?一个没有实例化的对象,但是这个对象里面已经包含了所有的功能,只需要实例化(注册到程序上时)以后就可以使用。
[*]使用蓝本以后的项目架构是什么样的?如下所示:
使用蓝本后的项目文件结构-project_file # 项目的文件名
-blueprints
    -xx.py # 这部分包含了服务的主要功能,如用户的注册,数据的处理等等
-templates
    -xx.html # 这部分包含了网页
-static # 静态文件
__init__.py
xx.py # 这部分包含了一些支撑服务运行的函数
.flaskenv

[*]创建蓝本,我们在blueprints文件夹下创建蓝本,根据服务需要实现的功能,分别建立不同的蓝本,如用户的验证与主界面的展示等。
蓝本的创建# 创建蓝本
from flask import Blueprint
view = Blueprint('view', __name__)

# 添加处理函数
@view.route('/')
def index():
pass

[*]完成蓝本的创建以后,要注册蓝本,这时回到项目文件夹下的__init__.py,在启动的函数中,为蓝本注册。下面是一个简单的例子:
为蓝本注册的简单例子# 在项目文件夹下__init__.py中的启动函数中,注册蓝本
from project_name.blueprints.view import view

def create_app():
...
app = Flask('project_file')
app.register_blueprints(view)# 注册

[*]上述的例子省略掉了很多项目配置的环节和扩展的初始化环节,这两个环节可以通过创建py文件在里面配置,最后在create_app里调用即可。
[*]最后,在项目文件夹主目录中,直接创建一个.flaskenv文件,直接创建就好,系统会自动识别为FLASKENV文件。在文件里,配置项目启动的参数,例如:
FLASK_APP=project_file
FLASK_ENV=development

[*]启动命令行,进入项目的虚拟环境,flask run 没有问题的话项目就可以正常的运行了。
[*]从构建的过程来看,使用蓝本后的项目文件结构,更加清晰的划分了每一个模块需要执行的功能,如果有内容上的更改,则进入到对应的模块直接更改即可。如果还有啥改进的空间,那就是辅助函数那边,还能划分的再清晰一点。总的概括起来,就是创建蓝本,配置项目,注册蓝本,三步完成对蓝本的使用。也许一开始并不习惯这样的方式,但这种方式在结构上的逻辑清晰,功能界限划分明显,在未来项目的开发与维护过程中,大概率可以提升工作的效率。这样只是我粗浅的理解,在使用一段时间以后,也许会有所改观。

来源:https://www.cnblogs.com/fuzera/p/18584557
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: FLASK蓝本使用初体验,个人对整个构建过程的理解