2012-12-21 83 views
0

我知道表单字段方法is_checkbox,用于检查给定的django表单的字段是否为复选框。有没有任何方法来检查该字段是否为textarea?如何检查字段是否为textarea

我也试着这样做:

{% if field.is_textarea %} 

但这似乎并没有工作。

回答

1

你应该这样做:

{% if field.widget...... %} 

小部件负责渲染,而不是场它的自我。

实施例来检查它在所述壳:

from django import forms 
from django.forms import widgets 

class ContactForm(forms.Form): 
    text = forms.CharField(max_length=100, widget=widgets.Textarea) 

f = ContactForm() 
f.fields['text'].widget 

<django.forms.widgets.Textarea object at 0x218ccd0> 
+0

是有办法可以在壳检查呢? – Amyth

+0

@Amyth是的,等待生病检查一下 – YardenST

+0

@Amyth看到更新.. – YardenST

0
#Template Tag 

from django import template 
register = template.Library() 


@register.filter('input_type') 
def input_type(input): 
return input.field.widget.__class__.__name__ 


#Template 

{% if field|input_type == "Textarea" %} 
+0

虽然这可能会回答问题,但代码的某些解释会更有帮助。 –