Flask:在视图中获取蓝图的url_prefix

时间:2017-01-11 19:49:09

标签: python flask

我有一个带有一个视图的蓝图。我想在视图中获取蓝图的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 ??

2 个答案:

答案 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