2016-03-30 21 views
0

Çok özel bir sistem oluşturmak için django 1.9 kullanıyorum. Bunun bir parçası, alanların listesini ve ilgili widget'larını çok sayıda formdan çıkarmak zorunda olduğum anlamına gelir. örneğinDjango formundan alanların ve widgetlerin listesini alın

, böyle bir şey gelen:

from django import forms 
class PortfolioForm(forms.Form): 
    organisation_id = forms.IntegerField(label='organisation_id', required=True) 
    portfolio_id = forms.IntegerField(label='portfolio_id', required=False) 
    portfolio_name = forms.CharField(label='portfolio_name', max_length=50, required=True) 
ben şöyle küpe veya listelerin bir listesini elde edebilmek için beklediğiniz

:

(
    (organisation_id, <widget_name>), 
    (portfolio_id, <widget_name>), 
    (portfolio_name, <widget_name>) 
) 

DeclarativeFieldsMetaclass mixin bloke etmekte .fields özniteliği

'dan alınmıştır Bu nasıl yapılır? Veya şablon yoluyla çıkarmak daha mı iyi? yöntemlerde

cevap

0
form = PortfolioForm() 
tuple((field_name, form.fields[field_name].widget.__class__) for field_name in form.fields) 

Eğer

+0

self. got üzerinde form. değiştirebilir. Bir örnek yerine sınıfta hareket ediyordum –

İlgili konular