我想在数据库中检查用户是否在下次登录时填写了Payment_receipt
模型表单,这是该用户下次登录时的信息。如果该用户最初没有填写表单,他将被重定向到名为plan_select
的页面。我尝试过这种观点。但这给了我错误:“ 页面重定向不正确”。
def homeview(request):
if request.user.is_authenticated:
if Payment_receipt.objects.filter(user = request.user).exists():
return redirect('home')
else:
return redirect('plan_select')
else:
return render(request, 'services/home.html')
可能出了什么问题?
我要在条件if request.user.is_authenticated:
下对该视图中的其他模型进行相同的检查。如何根据条件正确重定向?
答案 0 :(得分:0)
您尚未显示URL模式,但似乎return redirect('home')
正在重定向到同一视图,从而创建了一个重定向循环。
也许您想在此处呈现模板:
def homeview(request):
if request.user.is_authenticated:
if Payment_receipt.objects.filter(user = request.user).exists():
return render(request, 'services/home.html')
else:
return redirect('plan_select')
else:
return render(request, 'services/home.html')
您可以稍微简化一下,以避免重复return render()
行:
def homeview(request):
if request.user.is_authenticated:
if not Payment_receipt.objects.filter(user = request.user).exists():
return redirect('plan_select')
return render(request, 'services/home.html')