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

passing a parameter to a form in FormView Django

我有一个名为 MyForm 的表格。我覆盖了 __init__() 方法。 现在我需要在 MyFormView.

中创建此表单时传递 request.user 参数

我想这样做:

class MyFormView(FormView):
    form_class = MyForm(request.user)

我是否必须重写视图的 __init__ 方法?如果可以,怎么做?

覆盖视图的 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
def get_form_kwargs(self):
    kwargs = super(MyFormView, self).get_form_kwargs()
    data = kwargs['data'].copy()  # convert it to a mutable
    data['user'] = self.request.user
    kwargs['data'] = data
    return kwargs