Python 在FormView Django中将参数传递给窗体
我有一个名为Python 在FormView Django中将参数传递给窗体,python,django,django-forms,django-class-based-views,Python,Django,Django Forms,Django Class Based Views,我有一个名为MyForm的表单。我重写了\uuuu init\uuuu()方法。 现在,在MyFormView中创建此表单时,我需要传递request.user参数 我想这样做: class MyFormView(FormView): form_class = MyForm(request.user) 我是否必须重写视图的\uuuuu init\uuuu方法?如果是,如何覆盖视图的方法: def get_form_kwargs(self): kwargs=super(MyFormVie
MyForm
的表单。我重写了\uuuu init\uuuu()
方法。
现在,在MyFormView
中创建此表单时,我需要传递request.user
参数
我想这样做:
class MyFormView(FormView):
form_class = MyForm(request.user)
我是否必须重写视图的\uuuuu init\uuuu
方法?如果是,如何覆盖视图的方法:
def get_form_kwargs(self):
kwargs=super(MyFormView,self).get_form_kwargs()
data=kwargs['data'].copy()#将其转换为可变的
数据['user']=self.request.user
kwargs['data']=数据
返回kwargs
查看获取表单\u kwargs
这太快了,我无法在10分钟前接受您的回答xD谢谢您,先生!请添加几句话来解释你的代码在做什么,这样你就可以为你的答案获得更多的投票。
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