Skip to main content
 首页 » 编程设计

python之如何从 Django 中的中间件重定向 url

2024年09月03日30虾米哥

如何从中间件重定向 url?

死循环问题。

如果注册尚未完成,我打算将用户重定向到客户端注册 url。

def check_user_active(get_response): 
    def middleware(request): 
        response = get_response(request) 
 
        try: 
            print(Cliente.objects.get(usuario_id=request.user.id)) 
        except Cliente.DoesNotExist: 
            return redirect('confirm') 
 
 
        return response 
    return middleware 

请您参考如下方法:

对服务器的每个请求都通过中间件。因此,当您要转到 confirm 页面时,请求会再次通过中间件。所以最好在此处设置一些条件,以便它忽略 confirm url。你可以这样尝试:

def check_user_active(get_response): 
    def middleware(request): 
        response = get_response(request) 
        if not request.path == "confirm": 
            try: 
                print(Cliente.objects.get(usuario_id=request.user.id)) 
            except Cliente.DoesNotExist: 
                return redirect('confirm') 
        return response 
    return middleware