我已經爲我的Django項目創建了登錄表單,並且出現錯誤消息。 這是我在views.py功能:Django登錄表單錯誤信息
def user_login(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username, password=password)
if user:
if user.is_active:
login(request, user)
return HttpResponseRedirect('/friends_plans/users/')
else:
return HttpResponse("Your account is disabled")
else:
print "Invalid login details: {0}, {1}".format(username, password)
return HttpResponse("Invalid login details supplied.")
else:
return render(request, 'friends_plans/index.html', {})
錯誤消息(「無效的登錄信息附帶的」)將出現一個新的空白頁面上。如果用戶名或密碼在相同的登錄頁面(index.html)上不正確,請告訴我如何顯示此消息?
這是我的模板的index.html:
{% load staticfiles %}
<html >
<head >
<title> Friends' Plans </title>
<meta charset ="utf -8" />
<link rel="stylesheet" href="{% static 'css/friends_plans.css' %}">
</head >
<body >
<div id ="container">
<div id ="header">
<ul id ="menu">
<span><a id="firstbutton" href ="" >Friends' Plans</a> </span>
<span><a id="helpbutton" href ="" >HELP</a></span>
</ul>
</div>
<div id ="left">
<form id="login_form" method="post" action="">
{% csrf_token %}
Username: <input type ="text" name ="username" value="" size="50" /> <br />
Password: <input type ="password" name ="password" value="" size="50"/> <br />
<input type ="submit" value="submit" />
</form>
{% if user.is_authenticated %}
<a href="/friends_plans/logout/">Logout</a>
{% else %}
<a href="/friends_plans/register/">Register here</a><br />
{% endif %}
</div>
<div id ="right">
<h1 id="welcome">Welcome to Friends' Plans</h1>
<img class="cat" src={% static 'images/cat4.jpg' %} />
<img class="cat" src={% static 'images/cat2.jpg' %} />
<img class="cat" src={% static 'images/cat3.jpg' %} />
<img class="cat" src={% static 'images/cat6.jpg' %} />
<img class="cat" src={% static 'images/cat5.jpg' %} />
<img class="cat" src={% static 'images/cat1.jpg' %} />
</div>
<div id ="footer"> Copyright </div>
</div>
</body>
</html>
我有一個想法,以設置變量error=False
並且如果error=True
如果form.is_valid(改變)爲假,並在模板寫{% if error %}
,但csrf_token存在錯誤,但模板中有{% csrf_token %}
。
非常感謝您的回答!但是當我嘗試設置一個變量'error = False'時,我遇到了同樣的錯誤:Forbidden(403)SCRF驗證失敗。請求中止。你有什麼想法在SCRF模板中有什麼問題嗎? –
謝謝!像魅力一樣工作! –