先看看最基础的flask实现
from flask import Flask
app = Flask('__name__')
@app.route('/')
def test():
return '这是一个测试demo'
if __name__ == '__main__':
app.run()
再看看最基本的blueprint
from flask import Flask, Blueprint
app = Flask('__name__')
# 创建蓝图
bp = Blueprint('blueprint', __name__)
# @app.route('/')
# 使用蓝图
@bp.route('/')
def index():
return 'index'
# 先加载视图函数再注册
if __name__ == '__main__':
# 注册
app.register_blueprint(bp)
app.run()
最后看看一个基础的blueprint应用,你先需要在原有的main.py文件所在目录下再创建一个python包,flask包中仅自带一个__init__.py文件,其他随意创建命名
1)需要在__init__中创建blueprint
from flask import Blueprint
demo = Blueprint('demo', __name__)
print('__init__')
# 加载视图函数
from test.views import *
2)修改main文件,注册blueprint
from flask import Flask
from test import demo
app = Flask(__name__)
# 注册蓝图
app.register_blueprint(demo, url_prefix='/index')
print('----main----')
if __name__ == '__main__':
app.run()
3)编写views
from test import demo
@demo.route('/index/')
def index():
return 'test index'
print('--view--')
可以看到执行的顺序如下
__init__
--view--
----main----