使用before_request中的字符串(作为路径)调用Flask Blueprint路由

时间:2018-01-23 11:49:50

标签: python flask

我需要用我的python代码实现以下功能: 每当有新请求出现时,例如/ someurl1,它应该使用下面代码中给出的URL调用category_route。

@app.before_request
def before_request():
    url = '/category/c6f8f568-0a25-4ea7-999c-20099effa5f1'
    # Now here I need a piece of code which calls the below route's method, with above url.


@category.route('/category/<category_id>', methods=['GET'])
def category_route(category_id):
    return {"status": "in category"}

现在应该重定向页面。

1 个答案:

答案 0 :(得分:0)

如果您想要重定向,可以使用redirect。我建议你不要使用before_request

@app.route('/someurl1')
def someurl():
    url = '/category/c6f8f568-0a25-4ea7-999c-20099effa5f1'
    return redirect(url)

@category.route('/category/<category_id>', methods=['GET'])
def category_route(category_id):
    return {"status": "in category"}

如果您实际上不想重定向,只返回其他视图的返回值,则可以直接调用该函数:

@app.before_request
def before_request():
    category_id = 'c6f8f568-0a25-4ea7-999c-20099effa5f1'
    return category_route(category_id)

@category.route('/category/<category_id>', methods=['GET'])
def category_route(category_id):
    return {"status": "in category"}