Django框架學習筆記(25.Form元件驗證)
阿新 • • 發佈:2018-12-30
簡單的使用者註冊:
urls.py加入:
url(r'^fm/$', views.fm),
views.py:
from django import forms class FM(forms.Form): user = forms.CharField(error_messages={'required': '使用者名稱不能為空'}) pwd = forms.CharField( max_length=12, min_length=6, error_messages={'required': '密碼不能為空', ' min_length': '密碼長度不能小於6', 'max_length': '密碼長度不能大於12'} ) email = forms.EmailField(error_messages={'required': '郵箱不能為空', 'invalid': "郵箱格式錯誤"}) from app01 import models def fm(request): if request.method == "GET": obj = FM() return render(request, 'fm.html', {'obj': obj}) elif request.method == "POST": obj = FM(request.POST) r1 = obj.is_valid() if r1: models.UserInfo.objects.create(**obj.cleaned_data) else: return render(request, 'fm.html', {'obj': obj})
fm.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/fm/" method="POST"> {% csrf_token %} <p>{{ obj.user }} {{ obj.errors.user.0 }}</p> <p>{{ obj.pwd }} {{ obj.errors.pwd.0 }}</p> <p>{{ obj.email }} {{ obj.errors.email.0 }}</p> <input type="submit" value="提交"/> </form> </body> </html>
執行後效果(這裡Chrome自己加了驗證功能,如果低階瀏覽器,就會顯示定製的錯誤資訊):