django_form校验
生活随笔
收集整理的這篇文章主要介紹了
django_form校验
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、首先,寫一個(gè)表單頁面forms.py
from django import forms class UserForm(forms.Form):#與數(shù)據(jù)庫類似,但不是數(shù)據(jù)庫username=forms.CharField(required=False,label="用戶名",help_text="用戶名可以為空")password=forms.CharField(max_length=12,min_length=6,label="密碼")#label是別名的意思age=forms.IntegerField(label="年齡")email=forms.EmailField(label="郵箱")birthday=forms.DateField(label="生日")def clean_username(self):#所有自定義的效驗(yàn)的方法一定是clean_效驗(yàn)的字段名username=self.cleaned_data.get('username')if "li" in username:raise forms.ValidationError("昵稱違規(guī)")else:return username2、然后,建立一個(gè)保存form表單信息的數(shù)據(jù)庫
class UserModel(models.Model):#建立表單提交的數(shù)據(jù)庫 username=models.CharField(max_length=32) password=models.CharField(max_length=32) age=models.IntegerField() email=models.EmailField() birthday=models.DateField()
form表單頁面
3.視圖文件views.py
def requestExample(request):userForm=UserForm()#實(shí)例化form表單,用于前端渲染if request.method=="POST":print("lainjiechenggong")data=UserForm(request.POST)#將請求的數(shù)據(jù)傳遞給UserForm進(jìn)行校驗(yàn)if data.is_valid():#如果校驗(yàn)成功,返回trueprint("效驗(yàn)成功")clean_data=data.cleaned_data#返回一個(gè)放著效驗(yàn)過的數(shù)據(jù)的字典user=UserModel()user.username=clean_data.get("username")user.password=clean_data.get("password")user.age=clean_data.get("age")user.email=clean_data.get("email")user.birthday=clean_data.get('birthday')user.save()#將數(shù)據(jù)提交到數(shù)據(jù)庫else:error=data.errors#返回錯(cuò)誤return render(request,"requestExample.html",locals())總結(jié)
以上是生活随笔為你收集整理的django_form校验的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字节和字符的区别
- 下一篇: django_form表单类