2011-08-29 27 views
14

Sayfanın bir parçası olan bir Django formum var.Özel HTML niteliklerini django formlarında nasıl ayarlayabilirim?

search_input = forms.CharField(_(u'Search word'), required=False) 

Ben {{ form.search_input }} aracılığıyla sadece şablonda erişebileceği: Ben bir alan düşünelim. Özel HTML özellikleri nasıl ayarlanır (ad ve değer gibi)? Her türlü alana özel gereksinimler eklememe izin veren esnek bir çözüm bulmak istiyorum.

Ben

https://docs.djangoproject.com/en/dev/ref/forms/widgets/#widget bulundu Ama (Charfield ile kullanılırsa) attrs kullanarak bana verir:

__init__() got an unexpected keyword argument 'attrs' 

cevap

17

Sen Aradığınız etkiyi elde etmek Charfield üzerinde widget'ı değiştirebilir.

search_input = forms.CharField(_(u'Search word'), required=False) 
search_input.widget = forms.TextInput(attrs={'size': 10, 'title': 'Search',}) 
8

Ayrıca bu deneyebilirsiniz: Bu Styling widget instances başlıklı bölümde belgelenmiştir

search_input = forms.CharField(
    _(u'Search word'), 
    required=False, 
    widget=forms.TextInput(attrs={'size': 10, 'title': 'Search',}) 
) 

.

2

da kullanarak şablon-tek çözüm var bir filtre. Ben django-widget-tweaks:

{% load widget_tweaks %} 

{{ form.email|attr:'required:true' }} 
'u öneririm.
İlgili konular