如何从中间件重定向 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
我是一名优秀的程序员,十分优秀!