2011-05-25 41 views
5

Ben radioselect seçenekleri ile aşağıdaki formu vardır:özelleştirme radioselect varsayılan oluşturucu

jobStatus = forms.ChoiceField(widget=forms.RadioSelect()) 

Ancak <ul> <li> .. </li></ul> etiketleri radyo düğmelerini vermektedir.

Sadece radyo düğmesi girişini oluşturmanın herhangi bir yolunu önerir misiniz?

Teşekkür

cevap

8

Bu widget seçmek radyonun oluşturucusunu geçersiz kılmaya yönelik nasıl yapılır bir güzel.

https://wikis.utexas.edu/display/~bm6432/Django-Modifying+RadioSelect+Widget+to+have+horizontal+buttons

Temel olarak, forms.RadioFieldRenderer sınıfından devralan bir sınıf oluşturmak ve işlemek yöntemini geçersiz kılar. Ardından, widget'ınızı ayarlarken oluşturucuyu özel oluşturucu sınıfınıza ayarlamak için renderer argümanını kullanın.

Bu söyleniyor, genellikle CSS

+0

kullanarak görünümü değiştiriyorum, Çalışmaları mükemmel teşekkürler! Bu tür özel oluşturucuların proje ağacında bulunması gereken genel bir sözleşme var mı? – brsbilgic

+1

Oluşturucuyu başka şekillerde yeniden kullanmayı düşünüyorsanız buna bağlı olacağını düşünüyorum. Değilse, form ile aynı forms.py dosyasına koyardım, aksi takdirde "util" veya "misc" snippet'leriniz geri kalanıyla ve oradan içe aktarırdım. – DTing