当前位置: 首页 > 工具软件 > Blueprint > 使用案例 >

Flask Blueprint 蓝图的用法

朱兴学
2023-12-01
        蓝图 Blueprint 是flax的子集,它可以有独立的templates、static等。而模块独立可以使整个工程变得清晰易读,也避免文件之间循环引用的问题

Blueprint使用:

1.首先在子文件夹init文件中定义蓝图,比如/main/__init__.py中

from flask import Blueprint
main = Blueprint('main', __name__, url_prefix='/main/api/v0.1')
from . import views

==========================================================
#可以加参数,指定static、templates、url_prefix等
#main=Blueprint('main',__name__, url_prefix='/main/api/v0.1', template_folder='templates', static_folder='static')
#蓝图为 /main 把静态文件夹注册到 /main/static
#蓝图想要渲染'index.html'模板,且已经提供了 templates 作为 template_folder, 
    需要这样创建文件: /main/templates/main/index.html

2.在/main/views.py中

from . import main

@main.route('/test')
def hello():
return 'hello world!'

3.在app的入口中注册蓝图,比如runserver.py中:

from flask import Flask
app = Flask(__name__)

from main import main as main_app

app.register_blueprint(main_app)

if __name__ == '__main__':
#可以查看 URL 映射
#print app.url_map
app.run(host='0.0.0.0')

4.访问localhost:5000/main/api/v0.1/test, 即可返回 hello world!


当你想要从一个页面链接到另一个页面,你可以像通常一个样使用 url_for() 函数,

    只是你要在 URL 的末端加上蓝图的名称和一个点(.)作为前缀:

        url_for('admin.index')
 类似资料: