将参数传递给 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
我有一个名为 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