Flask从外部API函数重定向

时间:2015-08-31 18:26:04

标签: python flask flask-restful

我在Flask应用程序中有一个帮助器方法,几个端点使用它来获取资源。为了避免在任何地方进行多次redirect_url调用,我希望能够从这个辅助方法重定向。如图所示here投掷RequestRedirect异常会正确返回301响应,但不会设置Content-Location错误。为了解决这个问题,我添加了一个after_this_request钩子来设置该响应的URL。

这似乎工作正常,但我想知道是否有更优雅的方式去做。

匿名辅助方法:

def get_resource(resource_id):
    try:
        # Some logic
    except:
        @after_this_request
        def add_header(response):
            response.headers['Content-Location'] = url
            return response
        raise RequestRedirect(new_url='/')

1 个答案:

答案 0 :(得分:1)

如果它位于您的api之外,通常您会重定向到404页面。这是一个示例:

@app.errorhandler(404)
def page_not_found(e):
    return render_template('404.html'), 404