我正在使用由django爲我生成的表單。在我的博客中發佈帖子後,我將它用作評論表單。如何爲表單字段設置django註釋的格式?
目前它呈現很好,但它不很好地對齊。 這就是我所擁有的。 這就是我想要的。
感謝
編輯:這是結果,當我的用戶{{form.as_table}}
我正在使用由django爲我生成的表單。在我的博客中發佈帖子後,我將它用作評論表單。如何爲表單字段設置django註釋的格式?
目前它呈現很好,但它不很好地對齊。 這就是我所擁有的。 這就是我想要的。
感謝
編輯:這是結果,當我的用戶{{form.as_table}}
發佈我的解決方案希望它能幫助別人oneday。 我知道你會用CSS來設計字段,但不知道如何將類分配給每個項目。但是,如果您查看提供的默認模板,您會注意到在foreach循環中使用if語句將錯誤類分配給了一個字段,該foreach循環會自動生成表單中的每個字段。 即
{% for field in form %}
< p{% if field.errors %}
class="error"
{% endif %}
{{ field.label_tag }}<'/' p>
{% endfor %}
所以我添加到這個功能。
< p{% if field.errors %}
class="error"
{% endif %}
{% ifequal field.name "honeypot" %}
id="hide"
{% else %}
id="left"
{% endifequal %}>
{{ field.label_tag }}<'/' p>
我的CSS是
#hide{
display:none;
}
#left{
width: 200px;
text-align: left;
}
#right{
width: 300px;
text-align: left;
}
現在你可以在你的CSS文件中輕鬆設置設置你的類您可以將類或ID。這是爲了評論。 如果您使用{{form.as_p}}或{{form.as_table}}生成表單,那麼您只需在css中設置一個通用表單類來對其進行設置。 即
form {
width: 350px;
padding: 20px;
border: 1px solid #270644;
}
看一看Customizing the form template。這是一個可能的解決方案。
也許你可以簡單地使用CSS來設置你的表單的樣式和render the form。 (即as_table())。
使用默認{% render_comment_form for app.model %}
將產生:
<p>
<label for="id_name">Name</label>
<input id="id_name" type="text" name="name" maxlength="50">
</p>
<p>
<label for="id_email">Email address</label>
<input type="text" name="email" id="id_email">
</p>
... etc
因此,您可以使用目標在你的CSS樣式表label
:
label {
width: 15%;
}
我知道這是一個有點晚,但對於其他人,你可以試試這個
<table>
{{ form.as_table }}
</table>
它修復了惱人的格式問題,看起來不錯。
this post中有詳細的方法,但是,我發現有時小部件屬性可能無法按照您的方式工作。
不過,最好的和簡單的方法是使用CSS:
渲染你的頁面包含表單域,並做一些檢查(右鍵單擊>在Chrome檢查或F12爲例)知道HTML標記您的表單在渲染時生成。然後你可以很容易地寫你的CSS。
您的形式input
和textarea
字段,以便你的CSS將是:
input, textarea{
width:350px;
}
不要忘記你的HTML模板的頂部調用你的CSS文件:
<link rel="stylesheet" type="text/css" href="{% static 'styles/form.css' %}">
下面是我對自己的形式的一個快照:
你如何在模板中渲染你的表單? – 2010-12-09 11:02:47
目前全部都是自動的。我沒有指定任何東西。如果我在我的模板/註釋目錄中創建一個form.html文件並使用{{form.as_p}},那麼它呈現隱藏字段。 :P – darren 2010-12-09 11:57:17