Django如果识别表格类div

时间:2012-11-14 10:18:01

标签: jquery ajax class django-forms

简单的排队。 我打电话给ajax。

<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>

我的问题:{%if id =“content”%} - 如何实现

1 个答案:

答案 0 :(得分: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

class MyForm(forms.Form):
    my_form_name = "one" #add attr to form class
    ...

模板

{{form.my_form_name}}

不是超级聪明但非常强大。


很明显,对于您的用例,您可以说:

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