需要登录始终呈现到主页

时间:2017-02-14 15:48:59

标签: django django-views

当我使用$.each时,它无法渲染到适当的网址,它始终只渲染到主页

登录视图

login_required

settings.py文件

def login_view(request):
print(request.user.is_authenticated())
w="Welcome"
title = "Login"
form = UserLoginForm(request.POST or None)
if form.is_valid():
    username = form.cleaned_data.get("username")
    password = form.cleaned_data.get("password")
    user = authenticate(username=username, password=password)
    login(request, user)        
    messages.success(request, "Successfully Logged In. Welcome Back!")
    return HttpResponseRedirect("/")

return render(request, "registration/login.html", {"form":form, "title":title})

我在联系我们时申请了登录,但是当我登录时,它正在渲染到主页。

与我们联系查看

LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL = '/'

1 个答案:

答案 0 :(得分:1)

当Django重定向到登录页面时,它包含查询字符串中的下一个URL,例如

/login/?next=contact

您的login_view会忽略查询字符串并始终返回HttpResponseRedirect("/"),因此您将始终被重定向到主页。

最好使用Django的login view而不是你自己的,因为它会为你处理重定向。如果您必须使用自己的登录视图,可以查看source code以查看Django如何处理重定向,并调整您的视图。