一个最小的flask 应用
- server.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
启动应用:
$ export FLASK_APP=server.py
$ flask run
* Running on http://127.0.0.1:5000/
接下来我们看看如何运用 Blueprint 对上面的例子进行拆分
文件结构:
- server.py
- app.py
- blueprint # 蓝本统一放在一个包里进行管理
- admin.py
- blueprint/admin.py # 创建蓝图
from flask import Blueprint
admin = Blueprint('admin', __name__, url_prefix='/admin')
@admin.route('/')
def index():
return 'hello'
- app.py # 函数:用于创建应用并注册蓝图
from flask import Flask
def create_app():
app = Flask(__name__)
from admin import admin
app.register_blueprint(admin)
return app
- server.py # 创建应用
import app
app = app.create_app()
$ flask run
* Running on http://127.0.0.1:5000/
蓝图的优点:
可以让应用模块化,降低耦合,提高复用率