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

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

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

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 ModelForm
from django.forms import widgets as wd
from app01 import models
class 類名(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ù)庫中添加新的一條記錄)

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    python3利用pathlib替代os.path的方法實例

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

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

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

    Python?Collections庫的高級功能使用示例詳解

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

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

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

最新評論