Flask Blueprint 蓝图的用法

本文介绍了Flask Blueprint的使用方法,重点讲解如何通过Blueprint进行页面间的链接,并使用url_for()函数结合蓝图名称实现URL路由。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        蓝图 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')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值