我正在嘗試做一些非常簡單的事情;我想一個「隱藏」的樣式應用於表單域,當我在一些初始值已經通過了這樣一個Django模板中:在迭代字段時訪問django表單的初始值
form = form_class(initial={'field':data})
通常情況下,這將是這樣的:
<li class="{{form.somefield.name}} {% if form.somefield.initial %} hidden{% endif %}>
...
</li>
但我遍歷的形式,所以我想要做的做的東西,看起來像這樣:
{% for field in form %}
<li class="{{field.name}} {% if field.initial %} hidden{% endif %}">
...
</li>
{% endfor %}
但這不起作用,因爲field.initial只有定義爲初始值到形式領域,而不是表單創建時傳入的數據。除了將迭代轉換爲單個表單之外,還有一個很好的解決方案嗎?
我想過的一些(壞)解決方案:
- 覆蓋初始化到的東西值形成self.initial到self.fields;
- 寫一個名爲{%hideifhasinitial%}的模板標籤
- 向self和self.initial上使用zip的表單添加一個方法(不起作用,因爲self.initial只有一個元素,而self有4個,它只迭代了1個元素,而鍵(字段名稱)不匹配)。