我有一个带有一个视图的蓝图。我想在视图中获取蓝图的url_prefix。不幸的是test.url_prefix返回None。还有其他办法吗?
app.register_blueprint(test_blueprint, url_prefix = "/test")
@test.route("/task", methods=["GET"])
def task_view(user):
task_url = test.url_prefix + "/task" # test.url_prefix is None ??
答案 0 :(得分:0)
是。
在Flask中,当前视图的路径路径包含在请求变量的 url_rule.rule 子属性中。
所以你可以做到以下几点:
from flask import request
...
test_blueprint = Blueprint('test', __name__, url_prefix='/test')
...
@test_blueprint.route("/task", methods=["GET"])
def task_view(user):
task_url = request.url_rule.rule
....
app.register_blueprint(test_blueprint)
task_url的值为:
/test/task
根据需要。
答案 1 :(得分:0)
from flask import Blueprint
admin_panel = Blueprint('admin', __name__, template_folder='templates', static_folder='static')
@admin_panel.route('/')
def index():
url_prefix=admin_panel.name
print(url_prefix)
pass