저는 파이썬 클래스를 동적으로 생성하려고합니다. 여기, 장고 형태.동적으로 장고 양식을 생성합니다.
class BankForm(forms.Form):
name = forms.CharField()
for i in range(10):
setattr(BankForm, 'contact_' + str(i), forms.CharField())
그러나 양식을 사용할 때는 name
필드 만 표시됩니다. 그것을하는 방법에 대한 조언?
편집 : 그것은 하나 개의 솔루션을처럼 약 modelform_factory
밖으로 찾을 보이는
EDIT2 : 나는 당신과 같은 형태의 __init__
방법에 필드를 추가 할 수 있습니다
아마도 'MyForm'에 속성을 설정하고'BankForm'에 속성을 설정하지 않았기 때문일 수 있습니다. 하지만 오타가있을 수 있습니까? – marcusshep
oops, edited, no, 정의되지 않은 변수 예외가 발생했습니다 – damio
'modelform_factory' 메소드는 모델 양식을 만드는 데 유용하지만 정규 양식에 필드를 추가하려는 경우에는 적합하지 않습니다. add_fields' 메쏘드는 양식이 아닌 * formsets *를위한 것입니다. – Alasdair