2011-06-01 13 views
8

Bir formdaki alanları seçici olarak oluşturuyorum.Django - Tek bir form alanının <label>'unu oluşturma

{% fieldsineed %} 
    {% if FIELD.field.widget|klass == "CheckboxInput" %} 
    <li>{{ FIELD }} {{ FIELD.field.label }}</li> 
    {% else %} 
    <li>{{ FIELD.label }}: {{ FIELD }}</li> 
    {% endif %} 
{% endfieldsineed %} 

:

class SomeForm(forms.Form): 
    foo = forms.ChoiceField(label='Some Foo', ...) 
    bar = forms.BooleanField(label='Some Bar', ...) 
    ... 

Ben başka mantığına göre, bana etiketinde FIELD bağlam değişkeni kullanılarak ihtiyaç formun alanlarının yinelemenize olanak sağlar, özel bir etiket var (klass Filtrelenmeyen değer sınıf adı döner here var bir filtredir.)

Ne yazık ki, FIELD.label sadece bir dizidir. Belirli bir form alanı için <label> etiketini oluşturmanın kolay bir yolu var mı? KKO -

cevap

12

https://docs.djangoproject.com/en/1.9/topics/forms/#s-looping-over-the-form-s-fields

Eğer

{{ FIELD.label_tag }} 

<label for="id_fieldName">Fieldlabel:</label> 
+0

D'oh gibi bir şey işlemek Should yapabiliriz gösterir. Teşekkürler! –

+0

Birinin lmgtfy yorumu yayınlamasını bekliyorum. Ne yazık ki insanlar burada çok güzeller;) –

+0

I _did_ iyi bir yirmi dakika dokümanlar okuyor ve 'dir() 'ile kabukta etrafta dolaşıyorlar. Kaçırılması kolay. DBAD –

İlgili konular