Flask蓝图
2022/7/14 6:21:30
本文主要是介绍Flask蓝图,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Flask蓝图
概述:蓝图分为两种方式,按照功能划分,与按照结构划分。
1.小蓝图
说明:按照功能划分蓝图。
在视图函数中创建多个 py 文件,每个 py 文件中的视图函数都可以注册到蓝图中;
目录结构如图所示:
manage.py 为启动文件:
# -*- coding: utf-8 -*- from pythonProject import create_app app = create_app() # 调用文件创建 app if __name__ == '__main__': app.run()
pythonProject /__init__.py
文件是包的标志文件。通常说的导入一个包即为导入它的__init__.py
文件;因此我们只需要在__init__.py
中创建对应的 app 即可。
from flask import Flask from .views.account import ac_blueprint def create_app(): app = Flask(__name__) app.register_blueprint(ac_blueprint,url_prefix = '/web') # /web 相当于路由分发的前置 return app
在小蓝图内编写视图函数
# -*- coding: utf-8 -*- from flask import Blueprint ac_blueprint = Blueprint('ac',__name__) # 将路由注册到蓝图内 @ac_blueprint.route('/f1') def func(): return "f1"
2.大蓝图
说明:按照结构划分蓝图。
目录结构
补充:apps 有的时候也可能是与项目名称相同。
# -*- coding: utf-8 -*- from apps import create_app app = create_app() if __name__ == '__main__': app.run()# 启动文件
创建 app 函数,注册蓝图。
from flask import Flask from .account import account from .admin import admin def create_app(): app = Flask(__name__) app.config.from_object('config.settings') # 加载配置文件 app.register_blueprint(account)# 注册蓝图 app.register_blueprint(admin) # 注册蓝图 return app
在每个项目中创建蓝图
# -*- coding: utf-8 -*- from flask import Blueprint admin = Blueprint("ad",__name__)
# -*- coding: utf-8 -*- from flask import Blueprint account = Blueprint("ac",__name__,template_folder='templates') # 创建蓝图,并指定相关的参数,更加具体的参数可以参考源码示例 from .views import user # 注意需要写到蓝图对象下面,不然导入的时候蓝图对象不会被加载到内存
源码示例
蓝图中视图函数的写法
# -*- coding: utf-8 -*- from flask import render_template from .. import account # 导入蓝图,因此需要在蓝图被创建后将视图模块导入。 @account.route('/login') def login(): return render_template('login.html')
相关 html 文件。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>内部登录</h1> </body> </html>
继续努力,终成大器。
这篇关于Flask蓝图的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南