国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

教你如何設計Django的樣式以及如何添加class

馬哥Linux運維 ? 來源:Python運維技術 ? 作者:Python運維技術 ? 2021-06-04 16:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

每個使用Django的人都知道Django表單的優點。但是,當你第一次使用它時,一般會出現一個問題:我該如何設計它的樣式?如何添加class?

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

什么是widgets:widgets是Django對HTML輸入元素的表示。widgets處理HTML的呈現,并從與widgets相對應的GET / POST字典中提取數據。

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

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

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

假設我們有一個名為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》

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

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

看著還可以,但是它仍然可以改進,我們可以向其中添加一個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類,然后看結果:

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

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

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

該表單基本上與以前的表單相同,它沒有改變其呈現方式或其他任何方式,但現在此表單已連接到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》

最后結果:

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

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

文章轉載:Python運維技術

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

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HTML
    +關注

    關注

    0

    文章

    280

    瀏覽量

    48452
  • Django
    +關注

    關注

    0

    文章

    45

    瀏覽量

    10873

原文標題:教你如何為Django表單設置樣式?

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

    Devices的SSM2517 PDM數字輸入Class - D音頻放大器,為我們提供了一個出色的解決方案。今天,我們就來深入了解一下這款放大器的特點、性能以及應用注意事項。 文件下載
    的頭像 發表于 01-19 10:05 ?326次閱讀

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

    輸入2W Class - D音頻功率放大器,以其獨特的特性和出色的性能,為音頻設計帶來了新的解決方案。今天,我們就來詳細探討一下這款放大器的特點、工作原理以及應用場景。 文件下載
    的頭像 發表于 01-16 16:15 ?182次閱讀

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

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

    MAX98395數字輸入Class DG放大器:音頻設計的新選擇

    MAX98395數字輸入Class DG放大器:音頻設計的新選擇 在音頻設備的設計領域,一款性能卓越的放大器往往能為產品帶來質的提升。今天,我們就來深入探討一下Maxim Integrated推出
    的頭像 發表于 01-16 14:45 ?225次閱讀

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

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

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

    。今天,我們就來深入了解一款極具競爭力的數字Class - D放大器——MAX98365,探究它的特性、優勢以及應用場景。 文件下載: MAX98365.pdf 一、產品概述 MAX98365是一款易于
    的頭像 發表于 01-16 14:25 ?251次閱讀

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

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

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

    深入解析Bourns 1440系列IEC Class II DC浪涌保護器 在電子設備的設計與應用中,浪涌保護至關重要,它能有效保護設備免受雷擊、瞬態和電源浪涌的損害。今天,我們就來詳細探討
    的頭像 發表于 12-23 11:15 ?408次閱讀

    探秘Bourns 1270系列IEC Class I AC浪涌保護器

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

    探秘Bourns 1270系列IEC Class I AC浪涌保護器:性能、應用與選型指南

    保護器(SPD)至關重要。今天,我們就來詳細探討Bourns 1270系列IEC Class I AC浪涌保護器,了解它的特點、性能參數以及應用場景。 文件下載: Bourns 1270系列浪涌保護器
    的頭像 發表于 12-23 11:10 ?283次閱讀

    1280系列IEC Class II交流浪涌保護器:特性與應用解析

    1280系列IEC Class II交流浪涌保護器:特性與應用解析 在電子設備的運行中,浪涌是一個不可忽視的威脅,它可能來自于雷擊、電網切換等多種因素,會對設備造成嚴重的損害。為了有效保護電力系統
    的頭像 發表于 12-23 11:00 ?274次閱讀

    探秘Bourns FB系列Class T保險絲座:特性、參數與應用指南

    探秘Bourns FB系列Class T保險絲座:特性、參數與應用指南 在電子工程領域,保險絲座作為保障電路安全的關鍵組件,其性能與質量直接影響著整個系統的穩定性。今天,我們就來深入了解一下
    的頭像 發表于 12-23 10:45 ?353次閱讀

    關于NanoEdge AI用于n-Class的問題求解

    我想請教一下關于NanoEdge AI用于n-Class的問題。我使用NanoEdge AI的n-Class模式,訓練好模型,設計了3個分類,使用PC端的模擬工具測試過,模型可以正常對數據進行分類
    發表于 08-11 06:44

    RZ MPU工業控制教程連載(62)Yocto系統添加程序

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