女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你如何設(shè)計Django的樣式以及如何添加class

馬哥Linux運維 ? 來源:Python運維技術(shù) ? 作者:Python運維技術(shù) ? 2021-06-04 16:28 ? 次閱讀

每個使用Django的人都知道Django表單的優(yōu)點。但是,當(dāng)你第一次使用它時,一般會出現(xiàn)一個問題:我該如何設(shè)計它的樣式?如何添加class?

是的,其實有一種方法(實際上很簡單),就是必須使用widgets(小部件)。

什么是widgets:widgets是Django對HTML輸入元素的表示。widgets處理HTML的呈現(xiàn),并從與widgets相對應(yīng)的GET / POST字典中提取數(shù)據(jù)。

換句話說,widgets只是定義如何將內(nèi)容呈現(xiàn)為HTML的一種方法。因此,例如,CharField具有默認(rèn)的TextInput小部件,該小部件呈現(xiàn)為《input type =“ text”》。

但是小部件是可自定義的,因此還可以設(shè)置諸如文本區(qū)域的大小之類的內(nèi)容,或者該字段是否將成為必填字段等等。

因此,讓我們嘗試構(gòu)建一個示例來展示實際使用的小部件。

假設(shè)我們有一個名為UserInfoForm的表單來獲取用戶名以及他的電子郵件。

from django import formsclass UserInfoForm(forms.Form): name = forms.CharField() email = forms.EmailField()

HTML看起來像這樣:

《div class=“container”》《h1》Form《/h1》《form action=“{% url ‘index’ %}” method=“post”》 {% csrf_token %}《div class=“form-group”》 {{ form }}《/div》《div class=“form-group”》《input class=“btn btn-success” type=“submit” value=“Submit”》《/div》《/form》《/div》

目前,此表單使用默認(rèn)的窗口小部件,并且沒有任何樣式,因此基本上,它看起來像這樣:

65119434-c482-11eb-9e57-12bb97331649.png

看著還可以,但是它仍然可以改進(jìn),我們可以向其中添加一個Bootstrap類。我們可以通過在attrs字典中聲明一個類來做到這一點。

from django import formsfrom django.forms import TextInput, EmailInputclass UserInfoForm(forms.Form): name = forms.CharField(widget=forms.TextInput(attrs={‘placeholder’: ‘Name’, ‘style’: ‘width: 300px;’, ‘class’: ‘form-control’) email = forms.EmailField(widget=forms.EmailInput(attrs={‘placeholder’ :‘Email’, ‘style’: ‘width: 300px;’, ‘class’: ‘form-control’)

我們添加了一個Bootstrap類,然后看結(jié)果:

652d0bb0-c482-11eb-9e57-12bb97331649.png

但是通常當(dāng)我們使用Django表單時,這些表單與某種模型相關(guān),而現(xiàn)在這種表單卻沒有。為此,我們需要進(jìn)行一些更改。我們現(xiàn)在將使用小部件類。窗口小部件類具有基本的屬性attrs,就像上面的示例一樣。我們還必須添加一個名為Meta的新類,并指定與該表單相關(guān)的模型的名稱,我們要擁有的字段以及這些字段的小部件。

from django import formsfrom django.forms import ModelForm, TextInput, EmailInputfrom .models import Userclass UserInfoForm(ModelForm):class Meta: model = User fields = [‘name’, ‘email’] widgets = {‘name’: TextInput(attrs={‘class’: “form-control”,‘style’: ‘max-width: 300px;’,‘placeholder’: ‘Name’ }),‘email’: EmailInput(attrs={‘class’: “form-control”, ‘style’: ‘max-width: 300px;’,‘placeholder’: ‘Email’ }) }

那么這是怎么回事?我們之前使用的CharField和EmailField是內(nèi)建字段類,但是如果要使用widgets類,則需要使用內(nèi)建控件,在此示例中,這些控件是TextInput和EmailInput。最終它們將工作相同,但配置會略有不同。

該表單基本上與以前的表單相同,它沒有改變其呈現(xiàn)方式或其他任何方式,但現(xiàn)在此表單已連接到User模型,該模型是用于存儲用戶信息的模型。 HTML看起來像這樣:

《div class=“container”》《h1》Form《/h1》《form action=“{% url ‘index’ %}” method=“post”》 {% csrf_token %}《div class=“form-group”》 {{ form.name }}《/div》《div class=“form-group”》 {{ form.email }}《/div》《div class=“form-group”》《input class=“btn btn-primary” type=“submit” value=“Submit”》《/div》《/form》《/div》

最后結(jié)果:

6550c4b0-c482-11eb-9e57-12bb97331649.png

寫在最后: 學(xué)習(xí)如何使用窗口小部件非常有用,因為現(xiàn)在你知道如何使這些表單看起來更好,并且添加Bootstrap類非常簡單,這很方便。

文章轉(zhuǎn)載:Python運維技術(shù)

(版權(quán)歸原作者所有,侵刪)

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • HTML
    +關(guān)注

    關(guān)注

    0

    文章

    278

    瀏覽量

    40807
  • Django
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    10567

原文標(biāo)題:教你如何為Django表單設(shè)置樣式?

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    極致制造,嚴(yán)苛標(biāo)準(zhǔn)——捷多邦如何做到IPC Class 3級別PCB質(zhì)量?

    在高端電子制造領(lǐng)域,IPC Class 3 代表了PCB(印制電路板)的高可靠性標(biāo)準(zhǔn),適用于航空航天、醫(yī)療設(shè)備、工業(yè)控制、汽車電子等對性能要求極為嚴(yán)苛的應(yīng)用場景。作為國內(nèi)領(lǐng)先的PCB打樣及批量制造
    的頭像 發(fā)表于 03-21 17:24 ?428次閱讀

    RZ MPU工業(yè)控制教程連載(62)Yocto系統(tǒng)添加程序

    ,一個個文件的拷貝。 或者在bb文件中添加安裝項目,讓Yocto自動幫助我們添加。 第一種方法需要手動將軟件包的所有文件以及依賴都一個個添加進(jìn)去,耗時耗力且易錯,因此使用第二中方法比較
    的頭像 發(fā)表于 03-07 14:40 ?1627次閱讀
    RZ MPU工業(yè)控制教程連載(62)Yocto系統(tǒng)<b class='flag-5'>添加</b>程序

    在ZYNQ上跑超炫酷GUI!手把手教你移植LVGL到ZYNQ平臺!

    在ZYNQ上跑超炫酷GUI!手把手教你移植LVGL到ZYNQ平臺!基于ZYNQ平臺實現(xiàn)炫酷的GUI界面一般通常有兩種方式,一種是跑Linux系統(tǒng)運行QT程序;另外一種是跑裸機程序,通過調(diào)用圖形界面庫
    發(fā)表于 03-04 18:07

    基于Django89的web框架代碼

    基于Django89的web框架代碼,超詳細(xì)
    發(fā)表于 02-10 15:38 ?0次下載

    技術(shù)升級:探索華為云 EulerOS 與 Flexus X 實例如何完美融合快速部署 Django

    ,我們將目光聚焦于華為云 EulerOS 操作系統(tǒng)與 Flexus X 實例的深度融合,探討如何在這一強大組合下實現(xiàn) Django 服務(wù)的快速部署。本文將帶你領(lǐng)略華為云的技術(shù)魅力,解鎖高效部署新姿勢,助力你的業(yè)務(wù)飛速發(fā)展。 什么是 Django?
    的頭像 發(fā)表于 12-25 17:50 ?431次閱讀
    技術(shù)升級:探索華為云 EulerOS 與 Flexus X 實例如何完美融合快速部署 <b class='flag-5'>Django</b>

    怎么集齊7個云平臺?本文教你!

    每家云平臺都有自己的協(xié)議,工程師要移植不同的SDK代碼或基于各家的手冊文檔對接不同的協(xié)議,看著都頭大,該如何集齊7個云平臺?本文教你!本文將以Air780E+LuatOS作為示例,教你使用IoT_CLOUD連接Tlink云平臺。
    的頭像 發(fā)表于 12-02 14:41 ?981次閱讀
    怎么集齊7個云平臺?本文<b class='flag-5'>教你</b>!

    Java代碼之美,從遵循樣式規(guī)范開始

    至關(guān)重要。本文將帶你探索Java代碼的美學(xué),揭示那些能夠讓你的代碼既美觀又高效的樣式規(guī)范。無論是初出茅廬的新手還是經(jīng)驗豐富的老手,都能從中獲得靈感,提升編碼的藝術(shù)。 一、為什么要代碼樣式規(guī)范 對于團隊開發(fā),不同的代碼規(guī)范或不
    的頭像 發(fā)表于 11-27 11:42 ?509次閱讀
    Java代碼之美,從遵循<b class='flag-5'>樣式</b>規(guī)范開始

    請問class D類運放不好用作驅(qū)動headphone的原因有哪些?

    請問class D類運放不好用作驅(qū)動headphone的原因除了EMI問題,還有沒有其它問題的限制,導(dǎo)致TI沒有生產(chǎn)class D的headphone功
    發(fā)表于 11-04 08:06

    TLV320AIC3111 CLASS D靜音播放是什么意思?

    之前提問的問題的解答中,提到靜音播放時,CLASS D的輸出P和M的同頻同相的輸出是正確的,請問這個靜音播放是什么意思?我現(xiàn)在在有數(shù)字輸入的情況下,仍然是同頻同相且占空比相同的方波,是正常的嗎?
    發(fā)表于 09-30 06:43

    雙軸測徑儀的四種樣式!

    儀設(shè)計了四種外觀樣式。 45°角布置的開口測徑儀 這個樣式的雙軸測徑儀是目前大部分產(chǎn)線所使用的,樣式簡單大氣。用于外徑及橢圓度尺寸的檢測。 45°角布置的閉口測徑儀 該樣式的雙軸測徑儀
    發(fā)表于 08-27 17:42

    Bourns 推出全新標(biāo)準(zhǔn) DC 浪涌保護(hù)器,符合 IEC Class I 和 Class II且可保護(hù)高達(dá) 1500 VDC 的 DC 電力系統(tǒng)

    IEC/EN 61643-31 標(biāo)準(zhǔn)Class I + Class II / T1+T2。Bourns? 1430 和 1440 系列提供從 48 VDC 到 1500 VDC 的保護(hù)電壓范圍,并采用高能量 MOV 技術(shù)。此外,1440 系列更配備
    發(fā)表于 08-23 11:31 ?948次閱讀
    Bourns 推出全新標(biāo)準(zhǔn) DC 浪涌保護(hù)器,符合 IEC <b class='flag-5'>Class</b> I 和 <b class='flag-5'>Class</b> II且可保護(hù)高達(dá) 1500 VDC 的 DC 電力系統(tǒng)

    Bourns 推出符合 IEC Class I 和 Class II 標(biāo)準(zhǔn)的 AC 浪涌保護(hù)器

    電源、保護(hù)和傳感解決方案電子組件領(lǐng)導(dǎo)制造供貨商,全新推出 1270?和 1280?系列雙導(dǎo)軌 AC 浪涌保護(hù)器 (SPD)。該款 SPD 系列符合 IEC/EN 61643-11 標(biāo)準(zhǔn) Class I
    發(fā)表于 08-20 15:08 ?572次閱讀
    Bourns 推出符合 IEC <b class='flag-5'>Class</b> I 和 <b class='flag-5'>Class</b> II 標(biāo)準(zhǔn)的 AC 浪涌保護(hù)器

    abb機器人系統(tǒng)如何添加選項

    ABB機器人系統(tǒng)是一種廣泛應(yīng)用于工業(yè)生產(chǎn)領(lǐng)域的自動化設(shè)備。在實際應(yīng)用中,用戶可能需要對機器人系統(tǒng)進(jìn)行一些配置和設(shè)置,以滿足特定的生產(chǎn)需求。本文將詳細(xì)介紹如何在ABB機器人系統(tǒng)中添加選項,包括添加
    的頭像 發(fā)表于 06-17 09:43 ?3507次閱讀

    鴻蒙ArkTS聲明式開發(fā):跨平臺支持列表【多態(tài)樣式】 通用屬性

    設(shè)置組件不同狀態(tài)的樣式。 從API version 9開始,該接口支持在ArkTS卡片中使用。
    的頭像 發(fā)表于 06-07 09:48 ?668次閱讀
    鴻蒙ArkTS聲明式開發(fā):跨平臺支持列表【多態(tài)<b class='flag-5'>樣式</b>】 通用屬性

    手把手教你排序算法怎么寫

    今天以直接插入排序算法,給大家分享一下排序算法的實現(xiàn)思路,主要包含以下部分內(nèi)容:插入排序介紹插入排序算法實現(xiàn)手把手教你排序算法怎么寫在添加新的記錄時,使用順序查找的方式找到其要插入的位置,然后將
    的頭像 發(fā)表于 06-04 08:03 ?1011次閱讀
    手把手<b class='flag-5'>教你</b>排序算法怎么寫