91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

    文章

    280

    瀏覽量

    48505
  • Django
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    10877

原文標(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)推薦

    光罩傳輸Aligner需滿足Class1潔凈度及哪些定位要求?

    光罩(光掩模板)作為半導(dǎo)體光刻工藝的核心部件,其表面精度和潔凈度直接決定芯片的良率,因此光罩傳輸環(huán)節(jié)對(duì)晶圓前端Aligner的要求極為嚴(yán)苛。除了必須滿足Class1(ISO Class3)潔凈度
    的頭像 發(fā)表于 02-26 09:58 ?180次閱讀

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

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

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

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

    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 ?195次閱讀

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

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

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

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

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

    。今天,我們就來深入了解一款極具競(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 ?260次閱讀

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

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

    深入解析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)和電源浪涌的損害。今天,我們就來詳細(xì)探討
    的頭像 發(fā)表于 12-23 11:15 ?422次閱讀

    探秘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 ?324次閱讀

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

    保護(hù)器(SPD)至關(guān)重要。今天,我們就來詳細(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 ?298次閱讀

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

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

    探秘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)定性。今天,我們就來深入了解一下
    的頭像 發(fā)表于 12-23 10:45 ?374次閱讀

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

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

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

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