Flask蓝图基本使用
程序员文章站
2023-10-31 22:14:34
Flask蓝图基本使用 Flask通过使用蓝图将视图函数模块化,使应用显得更加规整 比如我们的应用的视图函数包括用户相关和文章相关,那么我们可以通过建立两个py文件分别存储两类视图函数 user.py: from flask import Blueprint from flask import re ......
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' # 自定义的静态文件文件夹,从同级目录找 )