真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Django中如何使用modelform組件

本篇文章為大家展示了Django中如何使用modelform組件,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

站在用戶的角度思考問題,與客戶深入溝通,找到曹縣網(wǎng)站設(shè)計與曹縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、國際域名空間、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋曹縣地區(qū)。

modelform是model衍生出來的form .

modelform的用法非常死.

首先在models.py里創(chuàng)建模型表.

所有的form組件單獨放在form.py文件,其他地方引入form就可以.

創(chuàng)建modelfrom

只要告訴modelform哪一個模型表,它會自動幫我們比對models模型表字段,并衍生成form組件.它不光給我們提供form組件,還有組件沒有的功能.

所有字段都生成form組件.

fields="__all__"

username和password字段生成form組件.

fields=['username','password']

排除gender字段以外都生成form組件.

exclude=['gender']

modelform用在兩個地方,一個是添加,一個是編輯.

添加數(shù)據(jù)

form添加數(shù)據(jù)先從form取數(shù)據(jù),然后在用models插入數(shù)據(jù).

modelform直接form.save()就可以插入數(shù)據(jù).

編輯數(shù)據(jù)get請求.

form傳值給模板的時候要添加instance數(shù)據(jù),否則模板渲染的時候value是空的.

編輯數(shù)據(jù)post請求.

form.save()的時候要給form添加instance數(shù)據(jù),否則會變成create操作,不是update更新操作.

知識點擴展

創(chuàng)建類

from django.forms import ModelFormfrom django.forms import widgets as wdfrom app01 import modelsclass 類名(ModelForm):class Meta:model = models.表名 #models中的表名fields="__all__", # 字段exclude=None, # 排除字段widgets=None, # 自定義插件error_messages=None, # 自定義錯誤信息(整體錯誤信息from django.core.exceptions import NON_FIELD_ERRORS)def clean_字段名 #自定義鉤子函數(shù)

實例化對象

form = 類名(instance=obj,data=request.POST)

instance傳的是已有的對象(在頁面中顯示默認值)

data傳的是從頁面返回過來的值(用戶輸入的值 ,用來驗證)

form.is_valid() #驗證

form.save #將數(shù)據(jù)保存至數(shù)據(jù)庫中(如果有instance參數(shù)就修改數(shù)據(jù)庫中的記錄,如果沒有instance參數(shù)就在數(shù)據(jù)庫中添加新的一條記錄)

上述內(nèi)容就是Django中如何使用modelform組件,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當前文章:Django中如何使用modelform組件
當前網(wǎng)址:http://weahome.cn/article/pcpcdo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部