日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

django_form校验

發(fā)布時(shí)間:2024/1/23 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 username

2、然后,建立一個(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表單頁面

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <form action="/re/" method="post" class="register_form">{% csrf_token %}{% for u in userForm %}<p><label >{{ u.label }}</label>{{ u }}</p>{% endfor %}<p><input type="submit" value="保存"></p> </form> {{ error }}</body> </html>

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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。