2012-11-14 63 views
0

簡單的排隊。 我稱之爲形式ajax。Django if identify form class div

<body> 
<div id="head"><a class="button">CLICK</a></head> - maybe head place 
<div id="content"><a class="button">CLICK</a></head> - in content, other place 

<form style="opacity:0;" metod="POST"> 
<input type="text" name="phone"> 
<input type="{% if id="content" %}text{% else %}hidden{% endif %}" name="phone"> 
</form> 
</body> 

我的問題:{%如果ID = 「內容」 %} - 如何實現

+0

什麼是你的表格或的ModelForm實例叫什麼?你冷這個 –

回答

0

識別模板的形式是不可能的默認。

根據dir(MyForm())你只有這些選項:

'files': '{}', 
'is_bound': 'False', 
'error_class': '<class 'django.forms.util.ErrorList'>', 
'empty_permitted': 'False', 
'fields': '{}', 
'initial': '{}', 
'label_suffix': ':', 
'prefix': 'None', 
'_changed_data': 'None', 
'data': '{}', 
'_errors': 'None', 
'auto_id': 'id_%s', 

您可以通過這條線確定窗體的類名,雖然這是「私人」(您可以通過下劃線告訴)和(不幸的)不可通過模板中的表單訪問:

MyForm.__class__.__name__ 

因此,您有幾個選項可以在您的模板中識別您的表單。許多方法來剝皮那隻貓。我只存在一個真正廉價的解決方案我最近使用:

forms.py

​​

模板

{{form.my_form_name}} 

不是超級聰明,但非常穩健。


所以,很顯然然後你的使用情況,你可以說:

<a class="two"><input type="{% if form.my_form_name = "one" %}text{% else %}hidden{% endif %}"></a> 
+0

只需使用Javascript我只有一種形式 – Homex