蓝图的概念简单理解为多应用url管理
问题现象:flask的主程序app.py如果写入太多的入口则显得难以维护且糟糕
直接上代码结构
工程名称为WebSite
admin 为一个应用名称
admin/url.py
from flask import Blueprint
from admin.views import admin_index
admin_blueprint = Blueprint('admin', __name__)
admin_blueprint.add_url_rule("/index", view_func=admin_index, methods=["POST"])
admin/views.py
# @admin_blueprint.route('/index', methods=["POST"])
def admin_index():
return '<h1>this is admin blueprint test</h1>'
app.py
from flask import Flask
from admin.url import admin_blueprint
app = Flask(__name__)
@app.route('/', methods=["POST"])
def hello_world():
return "Hello World!"
@app.route('/greeting/<name>', endpoint='say_hello', methods=["POST"])
def give_greeting(name):
return 'Hello, {0}!'.format(name)
@app.route('/bar', endpoint='bufar')
def bar_view():
pass
@app.route('/foo')
def foo_view():
pass
app.register_blueprint(admin_blueprint, url_prefix='/admin')
# app.register_blueprint(test_blueprint, url_prefix='/test')
if __name__ == '__main__':
app.run(debug=True)
每个app都可以这个注册,就会显得URL很清晰,易于管理
访问链接及效果: