中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

steam課程做網(wǎng)站黑帽seo教程

steam課程做網(wǎng)站,黑帽seo教程,重慶微信網(wǎng)站制作價(jià)格,億恩 網(wǎng)站備案Django——forms組件 forms組件:通過(guò)后端在Django中定義forms類(lèi),可以在 html 中動(dòng)態(tài)的生成一個(gè)表單;檢驗(yàn)用戶(hù)提交的數(shù)據(jù)。 在應(yīng)用中創(chuàng)建一個(gè)名為 :forms 的py文件 # 導(dǎo)入 forms 組件 from django import forms# 自定義 forms …

Django——forms組件

forms組件:通過(guò)后端在Django中定義forms類(lèi),可以在 html 中動(dòng)態(tài)的生成一個(gè)表單;檢驗(yàn)用戶(hù)提交的數(shù)據(jù)。

在應(yīng)用中創(chuàng)建一個(gè)名為 :forms 的py文件

# 導(dǎo)入 forms 組件
from  django import forms# 自定義 forms 表單類(lèi) , 表單類(lèi)必須繼承 forms.Form
# 在 Django 的 forms 組件中沒(méi)有提供按鈕標(biāo)簽
class MyForm(forms.Form):# 定義表單標(biāo)簽屬性# 在定義之后 , 渲染到 html 中是一個(gè) label 和 input 標(biāo)簽username = forms.CharField(label='用戶(hù)名')password = forms.CharField(label='密碼')
def showforms(request):# 渲染表單:生成一個(gè)表單類(lèi)對(duì)象 , 提交到 html 中if request.method == 'GET':# 生成一個(gè)空白的表單類(lèi)對(duì)象forms = MyForm()else:# 但請(qǐng)求為 post 請(qǐng)求的時(shí)候 , 說(shuō)明用戶(hù)提交數(shù)據(jù)# 將數(shù)據(jù)傳遞該 form 組件(表單類(lèi)接收的數(shù)據(jù)要是字典類(lèi)型的數(shù)據(jù))forms = MyForm(request.POST)res = '數(shù)據(jù)已提交'return render(request , 'index.html' , locals())
<body>
<form method="post">{% csrf_token %}{{ forms }}<input type="submit" value="注冊(cè)">
</form>
<span>{{ res }}</span>
</body>

在模板中渲染自定義表單類(lèi)

<form method="post">{% csrf_token %}<p>使用表格的樣式渲染</p>{{ forms.as_table }}<p>使用段落的樣式渲染</p>{{ forms.as_p }}<p>使用列表的樣式渲染</p>{{ forms.as_ul }}<input type="submit" value="注冊(cè)">
</form>

forms 組件提供的組件設(shè)置

# 自定義 forms 表單類(lèi) , 表單類(lèi)必須繼承 forms.Form
# 在 Django 的 forms 組件中沒(méi)有提供按鈕標(biāo)簽
class MyForm(forms.Form):# 定義表單標(biāo)簽屬性# 在定義之后 , 渲染到 html 中是一個(gè) label 和 input 標(biāo)簽username = forms.CharField(label='用戶(hù)名')password = forms.CharField(label='密碼',# 設(shè)置 password 文本框widget = forms.PasswordInput(),)# 郵箱email = forms.EmailField(label='郵箱')# 日期day = forms.DateField(label='日期',# 設(shè)置日歷選項(xiàng)widget=forms.TextInput(attrs={'type':'date'}))# 選項(xiàng)框# choices 設(shè)置選項(xiàng)內(nèi)容 , 內(nèi)容要以元組類(lèi)型設(shè)置gender = forms.ChoiceField(choices=((1,'女'),(2,'男'),(3,'未知')) , label='性別',# 設(shè)置選項(xiàng)框類(lèi)型: 單選 RadioSelectwidget=forms.RadioSelect(),# 設(shè)置默認(rèn)選項(xiàng)initial = 3)work = forms.ChoiceField(choices=((1,'學(xué)生'),(2,'搬磚'),(3,'退休')) , label='職業(yè)',# 設(shè)置選項(xiàng)框類(lèi)型: 單選 Selectwidget=forms.Select(),# 設(shè)置默認(rèn)選項(xiàng)initial = 3)hobby = forms.ChoiceField(choices=((1,'爬山'),(2,'唱歌'),(3,'跳舞'),(4,'rap'),(5,'跆拳道'),(6,'籃球')) , label='愛(ài)好',# 設(shè)置選項(xiàng)框類(lèi)型: 多選 CheckboxSelectMultiplewidget=forms.CheckboxSelectMultiple(),# 設(shè)置默認(rèn)選項(xiàng)initial = [2,6])subject = forms.MultipleChoiceField(choices=((1,'物理'),(2,'化學(xué)'),(3,'生物'),(4,'地理'),(5,'歷史'),(6,'政治')) , label='科目',# 設(shè)置選項(xiàng)框類(lèi)型: 多選 CheckboxSelectMultiplewidget=forms.CheckboxSelectMultiple(),# 設(shè)置默認(rèn)選項(xiàng)initial = [1])xy = forms.CharField(label='阿宸要你寫(xiě)代碼的協(xié)議',widget=forms.CheckboxInput())

forms 組件驗(yàn)證數(shù)據(jù)

class RegisterView(View):def get(self , request):return render(request , 'register.html')def post(self , request):# 數(shù)據(jù)給 forms 組件進(jìn)行數(shù)據(jù)校驗(yàn)register_form = RegisterForm(request.POST)# 判斷數(shù)據(jù)是否合法# is_valid 判斷表單類(lèi)中獲取的數(shù)據(jù)校驗(yàn)是否合法,合法返回 True# register_form.errors 存放的就是數(shù)據(jù)的錯(cuò)誤信息if register_form.is_valid():return HttpResponse('注冊(cè)成功')else:return render(request , 'register.html' , locals())
# 數(shù)據(jù)驗(yàn)證
class RegisterForm(forms.Form):username = forms.CharField(max_length=10 , min_length=3,# 設(shè)置錯(cuò)誤信息字典error_messages={'max_length' : '用戶(hù)名長(zhǎng)度超出','min_length' : '用戶(hù)名長(zhǎng)度不足','required' : '不允許為空'})password = forms.CharField(max_length=15 , min_length=6,error_messages={'max_length': '密碼長(zhǎng)度超出','min_length': '密碼長(zhǎng)度不足','required': '不允許為空'})password2 = forms.CharField(max_length=15 , min_length=6,error_messages={'max_length': '密碼長(zhǎng)度超出','min_length': '密碼長(zhǎng)度不足','required': '不允許為空'})# 驗(yàn)證數(shù)據(jù)使用鉤子函數(shù) , 鉤子:自定義的校驗(yàn)規(guī)則# 局部鉤子:給一個(gè)字段數(shù)據(jù)校驗(yàn)# 定義局部鉤子的函數(shù)名稱(chēng):clean_屬性名def clean_username(self):# 勾取數(shù)據(jù):獲取到對(duì)應(yīng)的屬性數(shù)據(jù)data = self.cleaned_data.get('username')# 進(jìn)行數(shù)據(jù)檢驗(yàn)if not re.match(r'^[a-zA-Z0-9]{3,10}$' , data):# 添加異常信息# self.add_error(屬性 , 錯(cuò)誤信息)self.add_error('username' , '用戶(hù)名不合法')# 把勾取到的數(shù)據(jù)返回回去return data# 全局鉤子:過(guò)多個(gè)字段校驗(yàn)def clean(self):pwd1 = self.cleaned_data.get('password')pwd2 = self.cleaned_data.get('password2')if pwd1 != pwd2:self.add_error('password2', '兩次密碼不一致')return self.cleaned_data
<body>
{#  novalidate 關(guān)閉瀏覽器自動(dòng)渲染 form 組件的錯(cuò)誤信息 #}
<form method="post" novalidate>{% csrf_token %}<p>用戶(hù)名:<input type="text" name="username"></p><span style="color:red;">{{ register_form.username.errors.0 }}</span><p>密碼:<input type="password" name="password"></p><span style="color:red;">{{ register_form.password.errors.0 }}</span><p>確認(rèn)密碼:<input type="password" name="password2"></p><span style="color:red;">{{ register_form.password2.errors.0 }}</span><input type="submit" value="注冊(cè)">
</form>
</body>
http://www.risenshineclean.com/news/21726.html

相關(guān)文章:

  • 網(wǎng)站源碼設(shè)計(jì)給我免費(fèi)的視頻在線(xiàn)觀(guān)看
  • 唯品會(huì)一家做特賣(mài)的網(wǎng)站手機(jī)版百度開(kāi)戶(hù)代理公司
  • 網(wǎng)站備案變更公司名稱(chēng)百度指數(shù)屬于行業(yè)趨勢(shì)及人群
  • 域名備案關(guān)閉網(wǎng)站保溫杯軟文營(yíng)銷(xiāo)300字
  • 青島專(zhuān)業(yè)做網(wǎng)站優(yōu)化成都網(wǎng)站建設(shè)方案外包
  • 代做吧機(jī)械網(wǎng)站seo搜索引擎優(yōu)化師
  • 電子 網(wǎng)站模板2024年2月疫情又開(kāi)始了嗎
  • aspx網(wǎng)站開(kāi)發(fā) 案例淘寶推廣公司
  • 做美妝網(wǎng)站名稱(chēng)營(yíng)銷(xiāo)案例最新
  • 睢縣做網(wǎng)站的公司百度識(shí)圖軟件
  • 如何網(wǎng)上賺點(diǎn)零花錢(qián)seo如何去做優(yōu)化
  • 網(wǎng)站icp備案號(hào)怎么查詢(xún)合肥網(wǎng)絡(luò)推廣軟件
  • 湖南服務(wù)專(zhuān)業(yè)的網(wǎng)站制作自創(chuàng)網(wǎng)站
  • 網(wǎng)站seo推廣站長(zhǎng)統(tǒng)計(jì)網(wǎng)站統(tǒng)計(jì)
  • 建設(shè)了網(wǎng)站怎么管理系統(tǒng)代發(fā)新聞稿的網(wǎng)站
  • 專(zhuān)業(yè)做廠(chǎng)房的網(wǎng)站怎么申請(qǐng)域名建立網(wǎng)站
  • 只做一頁(yè)的網(wǎng)站多少錢(qián)中層管理者培訓(xùn)課程有哪些
  • 網(wǎng)站制作比較好的公司網(wǎng)絡(luò)推廣的方法有
  • 如何做垂直門(mén)戶(hù)網(wǎng)站國(guó)家免費(fèi)技能培訓(xùn)有哪些
  • 網(wǎng)站建設(shè)規(guī)劃書(shū)企業(yè)網(wǎng)站最火的推廣平臺(tái)
  • 常用的建站工具有哪些優(yōu)秀軟文范例
  • 深圳市住房和建設(shè)局網(wǎng)站幫人推廣注冊(cè)app的平臺(tái)
  • 網(wǎng)站建設(shè)服務(wù)開(kāi)發(fā)網(wǎng)絡(luò)推廣運(yùn)營(yíng)外包公司
  • 網(wǎng)站文檔怎么加圖片不顯示不出來(lái)企業(yè)網(wǎng)站設(shè)計(jì)思路
  • 備案號(hào) 不放在網(wǎng)站上網(wǎng)絡(luò)營(yíng)銷(xiāo)做得好的公司
  • 怎樣查看網(wǎng)站服務(wù)商seo領(lǐng)導(dǎo)屋
  • 網(wǎng)站開(kāi)發(fā)的ie兼容做到9磁力最好用的搜索引擎
  • 做網(wǎng)站服務(wù)器怎么用棗莊網(wǎng)站建設(shè)制作
  • 網(wǎng)頁(yè)出現(xiàn)網(wǎng)站維護(hù)如何制作一個(gè)個(gè)人網(wǎng)站
  • 網(wǎng)站內(nèi)容的設(shè)計(jì)sem論壇