我自己練習的一個登錄功能,代碼如下:
資料庫模型代碼model.py:
class User(models.Model):
username=models.CharField(max_length=20,default='username',null=False)
email=models.EmailField(max_length=20,default='[email protected]',null=False)
password=models.CharField(max_length=60,null=False)
form代碼:
from django import forms
from captcha.fields import CaptchaField
class Myforms(forms.Form):
username=forms.CharField(max_length=20)
email=forms.EmailField(max_length=20)
password=forms.CharField(max_length=60,widget=forms.PasswordInput)
# captcha = CaptchaField(label='驗證碼')
后臺驗證邏輯代碼
def login(request):
if request.method == "POST":
login_form = Myforms(request.POST)
message = "請檢查填寫的內容!"
if login_form.is_valid():
username = request.POST.get('username',None)
password = request.POST.get('password',None)
# username=request.POST.get("username","")
# password = request.POST.get("password", "")
# print (username)
# print (password)
try:
user = User.objects.get(username=username)
if user.password == password:
return HttpResponse('登陸成功!')
else:
message = "密碼不正確!"
except:
message = "用戶不存在!"
return render(request,'luo/loginview.html',{'message':message,'login_form':login_form})
login_form=Myforms()
return HttpResponseRedirect('../index/')
運行后,所出現的問題是,驗證邏輯沒有運行,直接跳到return render(request,'luo/loginview.html',{'message':message,'login_form':login_form}),而不是運行if login_form.is_valid():下面的邏輯。大家看下是驗證邏輯寫的有問題還是form表單里的內容有問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/93741.html
上一篇:求教怎樣打開R-3.5.0
下一篇:tkinter求解
