使用Flask和非唯一处理程序名称构建URL

使用Flask和非唯一处理程序名称构建URL,第1张

使用Flask和非唯一处理程序名称构建URL

我不知道如何处理同一模块路由的所有视图

我通常要做的是将视图分开放在不同的模块中(就像您对module

A
和进行的 *** 作一样
B
),然后将它们注册为蓝图,此后,在使用该
url_for()
函数时,可以在视图名称前加上蓝图名称,以避免冲突和潜在的冲突。问题。

这是一个例子:

main_views.py:

from flask import Blueprintmain = Blueprint('main', __name__)@main.route('/')def index():    pass

admin_views.py:

from flask import Blueprintadmin = Blueprint('admin', __name__)@admin.route('/admin')def index():    pass

application.py:

from flask import Flaskfrom main_views import mainfrom admin_views import adminapp = Flask('my_application')app.register_blueprint(main)app.register_blueprint(admin)

现在,要访问2个索引视图并仍然可以将另一个视图分开,只需使用

url_for('main.index')
url_for('admin.index')

编辑:

关于使用蓝图进行路由的一个有用的详细信息,在注册蓝图时,您可以传递一个

url_prefix
参数,该参数将应用于该蓝图中的每个视图。

例如,给出以下代码:

admin_views.py

from flask import Blueprintadmin = Blueprint('admin', __name__)@admin.route('/')def index():    pass@admin.route('/logout')def logout():    pass

application.py:

from flask import Flaskfrom admin_views import adminapp = Flask('my_application')app.register_blueprint(admin, url_prefix='/admin')

2个视图将在URL

/admin/
/admin/logout



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5618109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存