蓝图
简单来说,蓝图可以把一个应用分成几个模块。
开始
现在我们来看看蓝图的一个例子,目录结构为:
- app.py
- example.py
首先我们看看example.py演示的是如何使用蓝图:
# example.py
from flask import Blueprint
simple_page = Blueprint("simple_page", __name__)
@simple_page.route("/")
def index():
return "Hello World!"
我们使用Blueprint创建一个蓝图,接着以正常的方式使用它,然后我们将在app.py中注册这个蓝图:
# app.py
from flask import Flask
from example import simple_page
app = Flask(__name__)
app.register_blueprint(simple_page)
if __name__ == "__main__":
app.run(debug=True)
我们首先引入蓝图对象,然后使用register_blueprint方法注册蓝图,我们还可以把蓝图挂载在不同url前缀上:
# app.py
from flask import Flask
from example import simple_page
app = Flask(__name__)
app.register_blueprint(simple_page, url_prefix="/blueprint")
@app.route("/")
def main():
return "<a href='/blueprint'>blueprint</a>"
if __name__ == "__main__":
app.run(debug=True)
我们使用url_prefix参数来实现挂载在blueprint页面下。
url_for是用来生成url的,那么蓝图怎么办呢?只需要在在前面加上蓝图名称就好:simple_page.index