[英]session in login page in django
我有一個代碼,只要用戶填寫登錄表單,表單就會呈現到主頁,我就有登錄表單。 但是我想在登錄的主頁上打印用戶名。
views.py:
這是登錄功能,當用戶填寫登錄表單時,它將驗證值並呈現到主頁。
def userLogin(request,template=None,context=None):
if request.user.is_authenticated():
return HttpResponseRedirect('/home/')
if request.method == 'POST':
form = userLoginform(request.POST)
if form.is_valid():
# authenticated_user = form.save()
# login(request, authenticated_user)
return HttpResponseRedirect("/home/")
else:
template=u"registration/login.html"
context= {"form": form}
return render(request, template,context)
else:
form=userLoginform()
template=u"registration/login.html"
context= {"form": form}
return render(request, template,context)
每當我使用此代碼時,用戶都會正確登錄,但會話值不起作用,當我在主頁中使用{{user.username}}時,它將不顯示會話值。
像約瑟夫建議的那樣,您需要將request.user設置為上下文:
context= {"form": form, "user": request.user}
return render(request, template,context)
因此,您可以在模板中訪問{{ user.username }}
您可以查看有關如何使用django的身份驗證系統的完整文檔
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.