欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

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

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

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

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

什么是widgets:widgets是Django對(duì)HTML輸入元素的表示。widgets處理HTML的呈現(xiàn),并從與widgets相對(duì)應(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)建一個(gè)示例來展示實(shí)際使用的小部件。

假設(shè)我們有一個(gè)名為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),我們可以向其中添加一個(gè)Bootstrap類。我們可以通過在attrs字典中聲明一個(gè)類來做到這一點(diǎn)。

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’)

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

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

但是通常當(dāng)我們使用Django表單時(shí),這些表單與某種模型相關(guān),而現(xiàn)在這種表單卻沒有。為此,我們需要進(jìn)行一些更改。我們現(xiàn)在將使用小部件類。窗口小部件類具有基本的屬性attrs,就像上面的示例一樣。我們還必須添加一個(gè)名為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。最終它們將工作相同,但配置會(huì)略有不同。

該表單基本上與以前的表單相同,它沒有改變其呈現(xiàn)方式或其他任何方式,但現(xiàn)在此表單已連接到User模型,該模型是用于存儲(chǔ)用戶信息的模型。 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í)如何使用窗口小部件非常有用,因?yàn)楝F(xiàn)在你知道如何使這些表單看起來更好,并且添加Bootstrap類非常簡(jiǎn)單,這很方便。

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

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

編輯:jq

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

    關(guān)注

    0

    文章

    278

    瀏覽量

    36736
  • Django
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    10412

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    怎么集齊7個(gè)云平臺(tái)?本文教你!

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

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

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

    請(qǐng)問class D類運(yùn)放不好用作驅(qū)動(dòng)headphone的原因有哪些?

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

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

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

    雙軸測(cè)徑儀的四種樣式

    儀設(shè)計(jì)了四種外觀樣式。 45°角布置的開口測(cè)徑儀 這個(gè)樣式的雙軸測(cè)徑儀是目前大部分產(chǎn)線所使用的,樣式簡(jiǎn)單大氣。用于外徑及橢圓度尺寸的檢測(cè)。 45°角布置的閉口測(cè)徑儀 該樣式的雙軸測(cè)徑儀
    發(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 ?847次閱讀
    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 ?461次閱讀
    Bourns 推出符合 IEC <b class='flag-5'>Class</b> I 和 <b class='flag-5'>Class</b> II 標(biāo)準(zhǔn)的 AC 浪涌保護(hù)器

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

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

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

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

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

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

    HSW-EUA2318?Ver0 15-W Stereo Class-D Audio Power

    EUA2318XIR1DESCRIPTIONThe EUA2318 is a high efficiency, 2 channel bridged-tiedload (BTL), class
    發(fā)表于 05-31 15:38 ?0次下載

    stm32CubeMX怎么添加中斷以及相應(yīng)的代碼或者.c和.h文件?

    我想咨詢一下,用stm32CubeMX生成的工程里邊 怎么添加中斷以及相應(yīng)的代碼或者.c和.h文件。我跑的是freertos系統(tǒng),能不能在stm32CubeMX里邊直接添加啊。
    發(fā)表于 04-29 08:17

    Linux添加磁盤創(chuàng)建分區(qū)、掛載

    Linux添加磁盤創(chuàng)建分區(qū)、掛載
    發(fā)表于 04-20 17:49 ?560次閱讀
    Linux<b class='flag-5'>添加</b>磁盤創(chuàng)建分區(qū)、掛載

    谷景教你如何測(cè)量大電流功率電感好壞

    谷景教你如何測(cè)量大電流功率電感好壞 編輯:谷景電子 在眾多電感產(chǎn)品中,大電流功率電感是應(yīng)用比較多中的一種電子元器件。要想大電流功率電感在電路中充分發(fā)揮它的功能以及作用,那么一定要保證它選型的正確性
    的頭像 發(fā)表于 02-22 09:21 ?417次閱讀