翼度科技»论坛 编程开发 python 查看内容

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

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21

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

  • 创建蓝本,我们在blueprints文件夹下创建蓝本,根据服务需要实现的功能,分别建立不同的蓝本,如用户的验证与主界面的展示等。
蓝本的创建
  1. # 创建蓝本
  2. from flask import Blueprint
  3. view = Blueprint('view', __name__)
  4. # 添加处理函数
  5. @view.route('/')
  6. def index():
  7.   pass
复制代码

  • 完成蓝本的创建以后,要注册蓝本,这时回到项目文件夹下的__init__.py,在启动的函数中,为蓝本注册。下面是一个简单的例子:
为蓝本注册的简单例子
  1. # 在项目文件夹下__init__.py中的启动函数中,注册蓝本
  2. from project_name.blueprints.view import view
  3. def create_app():
  4.   ...
  5.   app = Flask('project_file')
  6.   app.register_blueprints(view)  # 注册
复制代码

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

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

来源:https://www.cnblogs.com/fuzera/p/18584557
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具