Django 从FromSet获取表单

Django 从FromSet获取表单,django,Django,我从Django文档中获取了上面的代码,文档中说在实例化FormSet时传入的字典form_kwargs可能取决于特定的实例,但没有说明如何使用 当在带有索引的FormSet类中调用get_form_kwargs()时,将调用其父类方法get_form_kwargs()从表单实例检索假定的kwargs 表单实例的kwargs定义在哪里?我不确定是否理解您的问题get\u form\u kwargs可以被重写,并用于为表单实例设置特定的kwargs,如您发布的示例代码所示。kwargs=super

我从Django文档中获取了上面的代码,文档中说在实例化FormSet时传入的字典form_kwargs可能取决于特定的实例,但没有说明如何使用

当在带有索引的FormSet类中调用get_form_kwargs()时,将调用其父类方法get_form_kwargs()从表单实例检索假定的kwargs


表单实例的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