Python全栈:flask的blueprint蓝图使用
【摘要】 Flask的 app 和 Blueprint蓝图 就好比 Django 的project 和 app, 可以使应用模块化
flask最小框架
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world(): return 'Hello World!'
if __na...
Flask的 app 和 Blueprint蓝图 就好比 Django 的project 和 app, 可以使应用模块化
flask最小框架
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world(): return 'Hello World!'
if __name__ == '__main__': app.run()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
定义蓝图
# api/main.py
from flask import Blueprint
app_api = Blueprint(name="app_api", import_name=__name__)
@app_api.route("/")
def show(): return "<h1>hello world app_api<h1>"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
注册蓝图
在最小框架中修改
# run.py
from flask import Flask
# 引入蓝图文件
from demo.api.main import app_api
app = Flask(__name__)
@app.route('/')
def hello_world(): return '<h1>Hello World! index<h1>'
# 注册蓝图
app.register_blueprint(blueprint=app_api, url_prefix='/api')
if __name__ == '__main__': app.run(host="127.0.0.1", port=5002)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
访问测试:
http://127.0.0.1:5002/ -》 Hello World! index
http://127.0.0.1:5002/api/ -》 hello world app_api
so eazy!!!
静态文件和模板文件
在定义蓝图中修改
app_api = Blueprint(name="app_api", import_name=__name__, static_folder='static', # 静态文件 template_folder='templates' # 模板文件夹 )
- 1
- 2
- 3
- 4
- 5
- 6
重定向
run.py 文件中修改
@app.route('/hello')
def hello(): return redirect(url_for("app_api.hello_world"))
- 1
- 2
- 3
404
run.py 文件中修改
@app.errorhandler(404)
def page_not_found(e): return "<h1>404<h1>"
- 1
- 2
- 3
参考文章:
使用蓝图的模块化应用
文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。
原文链接:pengshiyu.blog.csdn.net/article/details/80599979
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)