从API函数外部重定向Flask

2024-05-10 01:20:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个Flask应用程序中有一个helper方法,它被几个端点用来获取一个资源。为了避免到处都有多个redirect_url调用,我希望能够仅从这个helper方法重定向。抛出RequestRedirect异常,如here所示,正确返回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='/')

Tags: 方法helper应用程序urlflaskresponserequestdef