在Django的form中使用CSS進(jìn)行設(shè)計(jì)的方法
修改form的顯示的最快捷的方式是使用CSS。 尤其是錯(cuò)誤列表,可以增強(qiáng)視覺(jué)效果。自動(dòng)生成的錯(cuò)誤列表精確的使用`` <ul class=”errorlist”>``,這樣,我們就可以針對(duì)它們使用CSS。 下面的CSS讓錯(cuò)誤更加醒目了:
<style type="text/css"> ul.errorlist { margin: 0; padding: 0; } .errorlist li { background-color: red; color: white; display: block; font-size: 10px; margin: 0 0 3px; padding: 4px 5px; } </style>
雖然,自動(dòng)生成HTML是很方便的,但是在某些時(shí)候,你會(huì)想覆蓋默認(rèn)的顯示。 {{form.as_table}}和其它的方法在開(kāi)發(fā)的時(shí)候是一個(gè)快捷的方式,form的顯示方式也可以在form中被方便地重寫。
每一個(gè)字段部件(<input type=”text”>, <select>, <textarea>, 或者類似)都可以通過(guò)訪問(wèn){{form.字段名}}進(jìn)行單獨(dú)的渲染。
<html> <head> <title>Contact us</title> </head> <body> <h1>Contact us</h1> {% if form.errors %} <p style="color: red;"> Please correct the error{{ form.errors|pluralize }} below. </p> {% endif %} <form action="" method="post"> <div class="field"> {{ form.subject.errors }} <label for="id_subject">Subject:</label> {{ form.subject }} </div> <div class="field"> {{ form.email.errors }} <label for="id_email">Your e-mail address:</label> {{ form.email }} </div> <div class="field"> {{ form.message.errors }} <label for="id_message">Message:</label> {{ form.message }} </div> <input type="submit" value="Submit"> </form> </body> </html>
{{ form.message.errors }} 會(huì)在 <ul class="errorlist"> 里面顯示,如果字段是合法的,或者form沒(méi)有被綁定,就顯示一個(gè)空字符串。 我們還可以把 form.message.errors 當(dāng)作一個(gè)布爾值或者當(dāng)它是list在上面做迭代, 例如:
<div class="field{% if form.message.errors %} errors{% endif %}"> {% if form.message.errors %} <ul> {% for error in form.message.errors %} <li><strong>{{ error }}</strong></li> {% endfor %} </ul> {% endif %} <label for="id_message">Message:</label> {{ form.message }} </div>
在校驗(yàn)失敗的情況下, 這段代碼會(huì)在包含錯(cuò)誤字段的div的class屬性中增加一個(gè)”errors”,在一個(gè)有序列表中顯示錯(cuò)誤信息。
相關(guān)文章
Python?matplotlib繪圖時(shí)使用鼠標(biāo)滾輪放大/縮小圖像
Matplotlib是Python程序員可用的事實(shí)上的繪圖庫(kù),雖然它比交互式繪圖庫(kù)在圖形上更簡(jiǎn)單,但它仍然可以一個(gè)強(qiáng)大的工具,下面這篇文章主要給大家介紹了關(guān)于Python?matplotlib繪圖時(shí)使用鼠標(biāo)滾輪放大/縮小圖像的相關(guān)資料,需要的朋友可以參考下2022-05-05python中實(shí)現(xiàn)定制類的特殊方法總結(jié)
這篇文章主要介紹了python中實(shí)現(xiàn)定制類的特殊方法總結(jié),本文講解了__str__、__iter__、__getitem__、__getattr__、__call__等特殊方法,需要的朋友可以參考下2014-09-09Python常用字符串替換函數(shù)strip、replace及sub用法示例
這篇文章主要介紹了Python常用字符串替換函數(shù)strip、replace及sub用法,結(jié)合實(shí)例形式分析了Python針對(duì)字符串替換的常用函數(shù)strip、replace及sub功能及簡(jiǎn)單使用技巧,需要的朋友可以參考下2018-05-05Linux安裝Python3如何和系統(tǒng)自帶的Python2并存
這篇文章主要介紹了Linux安裝Python3如何和系統(tǒng)自帶的Python2并存,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07