欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django中modelform組件實(shí)例用法總結(jié)

 更新時(shí)間:2020年02月10日 15:59:42   作者:piaoxuexie  
在本篇文章里小編給大家整理的是關(guān)于Django中modelform組件實(shí)例用法內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。

modelform是model衍生出來(lái)的form .

modelform的用法非常死.

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

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

創(chuàng)建modelfrom

只要告訴modelform哪一個(gè)模型表,它會(huì)自動(dòng)幫我們比對(duì)models模型表字段,并衍生成form組件.它不光給我們提供form組件,還有組件沒(méi)有的功能.

所有字段都生成form組件.

fields="__all__"   

username和password字段生成form組件.

fields=['username','password'] 

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

exclude=['gender'] 

modelform用在兩個(gè)地方,一個(gè)是添加,一個(gè)是編輯.

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

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

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

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

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

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

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

知識(shí)點(diǎn)擴(kuò)展

創(chuàng)建類(lèi)

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

實(shí)例化對(duì)象

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

instance傳的是已有的對(duì)象(在頁(yè)面中顯示默認(rèn)值)

data傳的是從頁(yè)面返回過(guò)來(lái)的值(用戶(hù)輸入的值 ,用來(lái)驗(yàn)證)

form.is_valid() #驗(yàn)證

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

以上這篇基于Django的ModelForm組件(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中屬性和描述符的正確使用

    Python中屬性和描述符的正確使用

    Python的描述符和屬性是接觸到Python核心編程中一個(gè)比較難以理解的內(nèi)容,自己在學(xué)習(xí)的過(guò)程中也遇到過(guò)很多的疑惑,通過(guò)google和閱讀源碼,現(xiàn)將自己的理解和心得記錄下來(lái),也為正在為了該問(wèn)題苦惱的朋友提供一個(gè)思考問(wèn)題的參考。
    2016-08-08
  • python實(shí)現(xiàn)復(fù)制整個(gè)目錄的方法

    python實(shí)現(xiàn)復(fù)制整個(gè)目錄的方法

    這篇文章主要介紹了python實(shí)現(xiàn)復(fù)制整個(gè)目錄的方法,涉及Python中shutil模塊的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • Python NumPy創(chuàng)建數(shù)組方法

    Python NumPy創(chuàng)建數(shù)組方法

    這篇文章主要介紹了Python NumPy創(chuàng)建數(shù)組方法,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-09-09
  • PyTorch中torch.matmul()函數(shù)常見(jiàn)用法總結(jié)

    PyTorch中torch.matmul()函數(shù)常見(jiàn)用法總結(jié)

    torch.matmul()也是一種類(lèi)似于矩陣相乘操作的tensor連乘操作。但是它可以利用python中的廣播機(jī)制,處理一些維度不同的tensor結(jié)構(gòu)進(jìn)行相乘操作,這篇文章主要介紹了PyTorch中torch.matmul()函數(shù)用法總結(jié),需要的朋友可以參考下
    2023-04-04
  • Python深度學(xué)習(xí)albumentations數(shù)據(jù)增強(qiáng)庫(kù)

    Python深度學(xué)習(xí)albumentations數(shù)據(jù)增強(qiáng)庫(kù)

    下面開(kāi)始albumenations的正式介紹,在這里我強(qiáng)烈建議英語(yǔ)基礎(chǔ)還好的讀者去官方網(wǎng)站跟著教程一步步學(xué)習(xí),而這里的內(nèi)容主要是我自己的一個(gè)總結(jié)以及方便英語(yǔ)能力較弱的讀者學(xué)習(xí)
    2021-09-09
  • Python 獲取 datax 執(zhí)行結(jié)果保存到數(shù)據(jù)庫(kù)的方法

    Python 獲取 datax 執(zhí)行結(jié)果保存到數(shù)據(jù)庫(kù)的方法

    今天小編就為大家分享一篇Python 獲取 datax 執(zhí)行結(jié)果保存到數(shù)據(jù)庫(kù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python3利用pathlib替代os.path的方法實(shí)例

    python3利用pathlib替代os.path的方法實(shí)例

    os.path 模塊始終是適合Python運(yùn)行的操作系統(tǒng)的路徑模塊,因此可用于本地路徑,下面這篇文章主要給大家介紹了關(guān)于python3利用pathlib替代os.path的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Pytorch之Tensor和Numpy之間的轉(zhuǎn)換的實(shí)現(xiàn)方法

    Pytorch之Tensor和Numpy之間的轉(zhuǎn)換的實(shí)現(xiàn)方法

    這篇文章主要介紹了Pytorch之Tensor和Numpy之間的轉(zhuǎn)換的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python?Collections庫(kù)的高級(jí)功能使用示例詳解

    Python?Collections庫(kù)的高級(jí)功能使用示例詳解

    Python的collections庫(kù)提供了一系列有用的數(shù)據(jù)類(lèi)型,擴(kuò)展了內(nèi)建的數(shù)據(jù)類(lèi)型,為開(kāi)發(fā)者提供了更多高級(jí)功能,本文將深入探討collections庫(kù)的一些高級(jí)功能,通過(guò)詳細(xì)的示例代碼演示,幫助大家更好地理解和應(yīng)用這些功能
    2023-12-12
  • pandas獲取對(duì)應(yīng)的行或者列方式

    pandas獲取對(duì)應(yīng)的行或者列方式

    這篇文章主要介紹了pandas獲取對(duì)應(yīng)的行或者列方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評(píng)論