在FormView Django中将参数传递给表单

CHE*_*UIT 1 python django django-forms django-class-based-views

我有一个叫的表格MyForm。我否决了这种__init__()方法。现在,我需要request.user在创建此表单时传递参数MyFormView

我想做这个:

class MyFormView(FormView):
    form_class = MyForm(request.user)
Run Code Online (Sandbox Code Playgroud)

我必须重写__init__我的视图方法吗?如果是这样,怎么办?

Ala*_*air 7

覆盖视图的get_form_kwargs方法:

class MyFormView(FormView):
    form_class = MyForm

    def get_form_kwargs(self):
        kwargs = super(MyFormView, self).get_form_kwargs()
        kwargs['user'] = self.request.user
        return kwargs
Run Code Online (Sandbox Code Playgroud)