chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

馬哥Linux運(yùn)維 ? 來(lái)源: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è)問(wèn)題:我該如何設(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ù)。

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

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

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

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

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

HTML看起來(lái)像這樣:

《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)的窗口小部件,并且沒(méi)有任何樣式,因此基本上,它看起來(lái)像這樣:

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

看著還可以,但是它仍然可以改進(jìn),我們可以向其中添加一個(gè)Bootstrap類(lèi)。我們可以通過(guò)在attrs字典中聲明一個(gè)類(lèi)來(lái)做到這一點(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類(lèi),然后看結(jié)果:

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

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

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)建字段類(lèi),但是如果要使用widgets類(lèi),則需要使用內(nèi)建控件,在此示例中,這些控件是TextInput和EmailInput。最終它們將工作相同,但配置會(huì)略有不同。

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

《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

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

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

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

編輯:jq

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

    關(guān)注

    0

    文章

    280

    瀏覽量

    47391
  • Django
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    10835

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    探索SSM2517:高性能PDM數(shù)字輸入Class - D音頻放大器

    Devices的SSM2517 PDM數(shù)字輸入Class - D音頻放大器,為我們提供了一個(gè)出色的解決方案。今天,我們就來(lái)深入了解一下這款放大器的特點(diǎn)、性能以及應(yīng)用注意事項(xiàng)。 文件下載
    的頭像 發(fā)表于 01-19 10:05 ?204次閱讀

    探索SSM2519:數(shù)字輸入2W Class - D音頻功率放大器的卓越性能與應(yīng)用

    輸入2W Class - D音頻功率放大器,以其獨(dú)特的特性和出色的性能,為音頻設(shè)計(jì)帶來(lái)了新的解決方案。今天,我們就來(lái)詳細(xì)探討一下這款放大器的特點(diǎn)、工作原理以及應(yīng)用場(chǎng)景。 文件下載
    的頭像 發(fā)表于 01-16 16:15 ?67次閱讀

    MAX98358:高性能PDM輸入Class D音頻功率放大器的卓越之選

    的MAX98358 PDM輸入Class D音頻功率放大器,憑借其獨(dú)特的設(shè)計(jì)和出色的性能,成為了眾多應(yīng)用的理想選擇。本文將深入剖析MAX98358的特性、工作原理以及應(yīng)用要點(diǎn),為電子工程師在音頻設(shè)計(jì)中提
    的頭像 發(fā)表于 01-16 16:10 ?65次閱讀

    MAX98395數(shù)字輸入Class DG放大器:音頻設(shè)計(jì)的新選擇

    MAX98395數(shù)字輸入Class DG放大器:音頻設(shè)計(jì)的新選擇 在音頻設(shè)備的設(shè)計(jì)領(lǐng)域,一款性能卓越的放大器往往能為產(chǎn)品帶來(lái)質(zhì)的提升。今天,我們就來(lái)深入探討一下Maxim Integrated推出
    的頭像 發(fā)表于 01-16 14:45 ?101次閱讀

    剖析MAX98363:低成本高效能SoundWire Class D放大器的魅力

    ,作為一款小巧且經(jīng)濟(jì)高效的SoundWire Class D放大器,無(wú)疑為音頻設(shè)計(jì)領(lǐng)域帶來(lái)了新的選擇。今天,我們就來(lái)深入剖析這款放大器的特性、應(yīng)用以及設(shè)計(jì)要點(diǎn)。 文件下載: MAX98363.pdf
    的頭像 發(fā)表于 01-16 14:25 ?87次閱讀

    探索MAX98365:高性能數(shù)字Class - D放大器的卓越之選

    。今天,我們就來(lái)深入了解一款極具競(jìng)爭(zhēng)力的數(shù)字Class - D放大器——MAX98365,探究它的特性、優(yōu)勢(shì)以及應(yīng)用場(chǎng)景。 文件下載: MAX98365.pdf 一、產(chǎn)品概述 MAX98365是一款易于
    的頭像 發(fā)表于 01-16 14:25 ?92次閱讀

    探索MAX98360:小巧高效的數(shù)字Class - D放大器

    探索MAX98360:小巧高效的數(shù)字Class - D放大器 在電子設(shè)備的音頻處理領(lǐng)域,放大器的性能、成本和尺寸往往是工程師們關(guān)注的重點(diǎn)。今天,我們就來(lái)深入探討一下Analog Devices推出
    的頭像 發(fā)表于 01-16 14:10 ?60次閱讀

    深入解析Bourns 1440系列IEC Class II DC浪涌保護(hù)器

    深入解析Bourns 1440系列IEC Class II DC浪涌保護(hù)器 在電子設(shè)備的設(shè)計(jì)與應(yīng)用中,浪涌保護(hù)至關(guān)重要,它能有效保護(hù)設(shè)備免受雷擊、瞬態(tài)和電源浪涌的損害。今天,我們就來(lái)詳細(xì)探討
    的頭像 發(fā)表于 12-23 11:15 ?269次閱讀

    探秘Bourns 1270系列IEC Class I AC浪涌保護(hù)器

    探秘Bourns 1270系列IEC Class I AC浪涌保護(hù)器 在電子設(shè)備的世界里,浪涌就像隱藏的殺手,隨時(shí)可能對(duì)設(shè)備造成不可逆的損害。為了有效抵御浪涌的侵襲,Bourns推出了1270系列
    的頭像 發(fā)表于 12-23 11:15 ?209次閱讀

    探秘Bourns 1270系列IEC Class I AC浪涌保護(hù)器:性能、應(yīng)用與選型指南

    保護(hù)器(SPD)至關(guān)重要。今天,我們就來(lái)詳細(xì)探討B(tài)ourns 1270系列IEC Class I AC浪涌保護(hù)器,了解它的特點(diǎn)、性能參數(shù)以及應(yīng)用場(chǎng)景。 文件下載: Bourns 1270系列浪涌保護(hù)器
    的頭像 發(fā)表于 12-23 11:10 ?218次閱讀

    1280系列IEC Class II交流浪涌保護(hù)器:特性與應(yīng)用解析

    1280系列IEC Class II交流浪涌保護(hù)器:特性與應(yīng)用解析 在電子設(shè)備的運(yùn)行中,浪涌是一個(gè)不可忽視的威脅,它可能來(lái)自于雷擊、電網(wǎng)切換等多種因素,會(huì)對(duì)設(shè)備造成嚴(yán)重的損害。為了有效保護(hù)電力系統(tǒng)
    的頭像 發(fā)表于 12-23 11:00 ?203次閱讀

    探秘Bourns FB系列Class T保險(xiǎn)絲座:特性、參數(shù)與應(yīng)用指南

    探秘Bourns FB系列Class T保險(xiǎn)絲座:特性、參數(shù)與應(yīng)用指南 在電子工程領(lǐng)域,保險(xiǎn)絲座作為保障電路安全的關(guān)鍵組件,其性能與質(zhì)量直接影響著整個(gè)系統(tǒng)的穩(wěn)定性。今天,我們就來(lái)深入了解一下
    的頭像 發(fā)表于 12-23 10:45 ?250次閱讀

    關(guān)于NanoEdge AI用于n-Class的問(wèn)題求解

    我想請(qǐng)教一下關(guān)于NanoEdge AI用于n-Class的問(wèn)題。我使用NanoEdge AI的n-Class模式,訓(xùn)練好模型,設(shè)計(jì)了3個(gè)分類(lèi),使用PC端的模擬工具測(cè)試過(guò),模型可以正常對(duì)數(shù)據(jù)進(jìn)行分類(lèi)
    發(fā)表于 08-11 06:44

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

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

    基于Django89的web框架代碼

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