所以我做一個登錄頁面的形式,問題是它不工作:d登錄與形式不工作
這是我的形式
forms.py
from django.contrib.auth.models import User
from django import forms
class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput)
class Meta:
model = User
fields = ['username', 'password',]
我views.py
def user_login(request):
if request.method == 'POST':
login_form = UserForm(request.POST)
if login_form.is_valid():
username = login_form.cleaned_data.get('username')
raw_password = login_form.cleaned_data.get('password')
user = authenticate(username=username, password=raw_password)
login(request, user)
return redirect('restricted')
else:
login_form = UserForm()
return render(request, 'userlogin.html', {'login_form': login_form})
和我的HTML
<h2>Login</h2>
<form method="post">
{% csrf_token %}
{{ login_form.username }}
<br>
{{ login_form.password }}
<br>
<button type="submit">Login</button>
</form>
受限制是一個HTML,用於檢查哪個用戶已經登錄。它工作正常 我不確定它爲什麼不起作用,因爲它一直將我重定向到loginuser.html頁面,而不是將其重定向到。受限制的網頁,其中只有當用戶登錄出現
請定義「不工作」的含義。添加錯誤堆棧跟蹤。 – wencakisa
沒有錯誤它只是不能驗證 –
您是否在'POST'操作後重定向?告訴你的HTML模板請 –