Django 構(gòu)建模板form表單的兩種方法
通常情況下,我們想構(gòu)建一張表單時會在模板文件login.html中寫入
<form action="/your-name/" method="post"> <label for="your_name">Your name: </label> <input id="your_name" type="text" name="your_name" value="{{ current_name }}"> <input type="submit" value="OK"> </form>
下面說說我們在使用django是如何在模板文件中生成form表單:
1、自定義顯示的字段:
假如我們要在模板中生成一張含有username和content的表單
在app下新建forms.py(/users/forms.py)
from django import forms class MessageGetForm(forms.Form): username = forms.CharField(label='用戶', max_length=5) #max_length 瀏覽器限制用戶輸入的字符串長度 content = forms.CharField(label='留言', max_length=100)
在視圖文件中引用上邊表單字段并傳遞給模板(users/view.py)
from apps.users.forms import MessageGetForm class MessageView(View): def get(self, request, *args, **kwargs): message = MessageGetForm() return render(request, "message.html", {"message": message})
在模板文件調(diào)用(message.html)
<form action="" method="get"> {{ message }} </form>
渲染后的頁面效果
2、將數(shù)據(jù)表的字段映射到模板文件form表單
數(shù)據(jù)表courses_lesson字段如下
在app下新建forms.py(/users/forms.py)
#此處我們假設(shè)你的項目文件courses/models.py內(nèi)含有Lesson類from apps.courses.models import Lesson from django.forms import ModelForm class CoursesLessonForm(ModelForm): class Meta: model = Lesson fields = ['add_time', 'name', 'learn_times'] #要顯示的字段
在視圖文件中引用上邊表單字段并傳遞給模板(users/view.py)
from apps.users.forms import CoursesLessonForm class MessageView(View): def get(self, request, *args, **kwargs): message = CoursesLessonForm() return render(request, "message.html", {"message": message})
在模板文件調(diào)用(message.html)
<form action="" method="get"> {{ message }} </form>
頁面效果圖:
所有表單類都作為 django.forms.Form 或者 django.forms.ModelForm 的子類來創(chuàng)建。您可以把 ModelForm
想象成 Form
的子類。實際上 Form
和 ModelForm
從(私有) BaseForm
類繼承了通用功能,但是這個實現(xiàn)細節(jié)不怎么重要。
到此這篇關(guān)于Django 構(gòu)建模板form表單的兩種方法的文章就介紹到這了,更多相關(guān)Django 構(gòu)建模板form表單的兩種方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Django表單外鍵選項初始化的問題及解決方法
- django表單中的按鈕獲取數(shù)據(jù)的實例分析
- Django def clean()函數(shù)對表單中的數(shù)據(jù)進行驗證操作
- Django form表單與請求的生命周期步驟詳解
- Django model.py表單設(shè)置默認值允許為空的操作
- Django表單提交后實現(xiàn)獲取相同name的不同value值
- Django框架獲取form表單數(shù)據(jù)方式總結(jié)
- django之從html頁面表單獲取輸入的數(shù)據(jù)實例
- 解決django中form表單設(shè)置action后無法回到原頁面的問題
- django-xadmin根據(jù)當(dāng)前登錄用戶動態(tài)設(shè)置表單字段默認值方式
- Django給表單添加honeypot驗證增加安全性
相關(guān)文章
python實現(xiàn)統(tǒng)計文本中單詞出現(xiàn)的頻率詳解
這篇文章主要介紹了python統(tǒng)計文本中單詞出現(xiàn)頻率,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05使用pytorch實現(xiàn)可視化中間層的結(jié)果
今天小編就為大家分享一篇使用pytorch實現(xiàn)可視化中間層的結(jié)果,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python中的單引號雙引號區(qū)別知識點總結(jié)
在本篇文章中小編給大家整理了關(guān)于python中的單引號雙引號有什么區(qū)別的相關(guān)知識點以及實例代碼,需要的朋友們參考下。2019-06-06Python 中的 XML 轉(zhuǎn)換利器xml2dict詳解
xml2dict是一個Python庫,可以將XML數(shù)據(jù)轉(zhuǎn)換為字典,也支持反向轉(zhuǎn)換,它簡化了XML的處理,使之像處理JSON一樣簡單,適用于Web服務(wù)數(shù)據(jù)交換、配置文件讀取等場景,安裝簡單,使用方便,還可以通過自定義轉(zhuǎn)換器處理XML屬性和命名空間2024-10-10Python實現(xiàn)根據(jù)日期獲取當(dāng)天凌晨時間戳的方法示例
這篇文章主要介紹了Python實現(xiàn)根據(jù)日期獲取當(dāng)天凌晨時間戳的方法,涉及Python針對日期與時間戳的相關(guān)轉(zhuǎn)換、運算等操作技巧,需要的朋友可以參考下2019-04-04python實現(xiàn)郵件循環(huán)自動發(fā)件功能
這篇文章主要介紹了python實現(xiàn)郵件循環(huán)自動發(fā)件功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09