论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
FLASK蓝本使用初体验,个人对整个构建过程的理解 ...
FLASK蓝本使用初体验,个人对整个构建过程的理解
魏晓东
论坛元老
|
2024-12-3 16:12:19
|
显示全部楼层
|
阅读模式
楼主
主题
1784
|
帖子
1784
|
积分
5352
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
考虑到后来需要写的项目越来越大了,越来越复杂的内容都塞在一起,到时候改起来折磨的是我自己,于是尝试使用蓝图来构建一个项目。
蓝本是什么?一个没有实例化的对象,但是这个对象里面已经包含了所有的功能,只需要实例化(注册到程序上时)以后就可以使用。
使用蓝本以后的项目架构是什么样的?如下所示:
使用蓝本后的项目文件结构
-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 没有问题的话项目就可以正常的运行了。
从构建的过程来看,使用蓝本后的项目文件结构,更加清晰的划分了每一个模块需要执行的功能,假如有内容上的更改,则进入到对应的模块直接更改即可。假如还有啥改进的空间,那就是辅助函数那里,还能划分的再清晰一点。总的概括起来,就是创建蓝本,配置项目,注册蓝本,三步完成对蓝本的使用。也许一开始并不习惯如许的方式,但这种方式在结构上的逻辑清晰,功能界限划分显着,在未来项目标开辟与维护过程中,大概率可以提升工作的服从。如许只是我粗浅的理解,在使用一段时间以后,也许会有所改观。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
魏晓东
论坛元老
这个人很懒什么都没写!
楼主热帖
基础常用dos命令
Vulnhub靶机-Al-Web-1
Unity技术手册 - Shader实现灵魂状态 ...
.NET主流的几款重量级 ORM框架 ...
云原生之旅 - 14)遵循 GitOps 实践的 ...
火山引擎 DataLeap 计算治理自动化解决 ...
Java集合框架(三)-HashSet
vuluhub_jangow-01-1.0.1
Android studio连接MySQL并完成简单的 ...
2022年总结-博客篇
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
Oracle
物联网
网络安全
Mysql
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表