J'ai un formulaire dynamique dans les formulaires. Comment puis-je passer un argument de mon point de vue lorsque j'instancie mon formulaire?passer des arguments à un formulaire dynamique dans django
Quelque chose comme:
form = DynamicForm("some string argument I'm passing to my form")
C'est la forme que j'ai:
class DynamicForm(Form):
def __init__(self, *args, **kwargs):
super(DynamicForm, self).__init__(*args, **kwargs)
for item in range(5):
self.fields['test_field_%d' % item] = CharField(max_length=255)
Juste pour une note, lors de l'apprentissage sur les '** kwargs' .. je recevais toujours erreur comme:' __init __() a obtenu un argument de mot clé inattendu 'my_arg''. U devez '.pop' vos arguments en première ligne de votre constructeur ou au moins cela m'a aidé à résoudre mes problèmes. – krizajb
Je veux pouvoir hériter de DynamicForm donc j'ai une classe Form de base que je peux transmettre des paramètres personnalisés. Pouvez-vous donner un exemple? – heri0n
@krizajB en fait, vous devez kwargs.pop avant super(), sinon la classe de base recevra des arguments qu'elle ne supporte pas. Mais il ne doit pas être la * première * ligne. – thnee