我不知道如何处理同一模块路由的所有视图。
我通常要做的是将视图分开放在不同的模块中(就像您对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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)