这里有一个真正的问题。我在后端有2个视图,确实需要从第二个视图重定向
像这样的观点:
def first_function(request):
""" Here is some stuff """
second_function(request)
return render(request, 'first.html', context)
def second_function(request)
""" Check here something """
if ok:
return
else:
return redirect('/') # this redirect does not work
您的视图second_function
会返回回复。只要视图不引发异常,无论响应的状态代码如何,您的first_function
都将继续。
如果要返回重定向,则必须将结果分配给状态代码,然后必须将second_function
的结果分配给变量,然后检查状态代码。
def first_function(request):
""" Here is some stuff """
response = second_function(request)
if response.status_code == '302':
return response
return render(request, 'first.html', context)
这不是构建代码的好方法,但我无法建议替代方法,因为您的代码显示了您真正想要做的事情。