Django 从FromSet获取表单
我从Django文档中获取了上面的代码,文档中说在实例化FormSet时传入的字典form_kwargs可能取决于特定的实例,但没有说明如何使用 当在带有索引的FormSet类中调用get_form_kwargs()时,将调用其父类方法get_form_kwargs()从表单实例检索假定的kwargsDjango 从FromSet获取表单,django,Django,我从Django文档中获取了上面的代码,文档中说在实例化FormSet时传入的字典form_kwargs可能取决于特定的实例,但没有说明如何使用 当在带有索引的FormSet类中调用get_form_kwargs()时,将调用其父类方法get_form_kwargs()从表单实例检索假定的kwargs 表单实例的kwargs定义在哪里?我不确定是否理解您的问题get\u form\u kwargs可以被重写,并用于为表单实例设置特定的kwargs,如您发布的示例代码所示。kwargs=super
表单实例的kwargs定义在哪里?我不确定是否理解您的问题
get\u form\u kwargs
可以被重写,并用于为表单实例设置特定的kwargs,如您发布的示例代码所示。kwargs=super()。get\u form\u kwargs(index)做什么?
>>> from django.forms import BaseFormSet
>>> from django.forms import formset_factory
>>> from myapp.forms import ArticleForm
>>> class MyArticleForm(ArticleForm):
... def __init__(self, *args, user, **kwargs):
... self.user = user
... super().__init__(*args, **kwargs)
>>> ArticleFormSet = formset_factory(MyArticleForm)
>>> formset = ArticleFormSet(form_kwargs={'user': request.user})
The form_kwargs may also depend on the specific form instance.
The formset base class provides a get_form_kwargs method.
The method takes a single argument - the index of the form in the formset.
The index is None for the empty_form:
>>> from django.forms import BaseFormSet
>>> from django.forms import formset_factory
>>> class BaseArticleFormSet(BaseFormSet):
... def get_form_kwargs(self, index):
... kwargs = super().get_form_kwargs(index)
... kwargs['custom_kwarg'] = index
... return kwargs