Flask 蓝图基本使用
Flask 通过使用蓝图将视图函数模块化, 使应用显得更加规整
比如我们的应用的视图函数包括用户相关和文章相关, 那么我们可以通过建立两个 py 文件分别存储两类视图函数
- user.py:
- from flask import Blueprint
- from flask import render_template
- from flask import request
- user = Blueprint('user', __name__)
- @user.route('/login', methods=['GET', "POST"])
- def login():
- return render_template('login.html')
- article.py:
- from flask import Blueprint
- from flask import render_template
- from flask import request
- article = Blueprint('article', __name__)
- @article.route('/article', methods=['GET'])
- def login():
- return render_template('article.html')
此时将这两个 py 文件放入同一个叫做 App 的包中并添加 init 文件:
- from flask import Flask
- from .article import article
- from .user import user
- App = Flask(__name__)
- App.debug = True
- App.register_blueprint(article)
- App.register_blueprint(user)
在 init 文件中相当于完成了蓝图的注册
然后在 App 包中添加 templates 文件夹来存放模板文件
最后在 App 包外添加 run.py
- from App import App
- if __name__ == '__main__':
- App.run()
执行 run 文件即可启动 flaskapp
这里的蓝图对象的创建还有其他的参数:
- user = Blueprint(
- 'user',
- __name__,
- url_prefix='/user' # 该蓝图下的 url 前面都加上 user/
- subdomain='user' # 匹配子域名
- template_folder='templates', # 自定义的模板文件夹, 从同级目录找
- static_folder='static' # 自定义的静态文件文件夹, 从同级目录找
- )
- ?
来源: https://www.2cto.com/kf/201905/806376.html