您好我想使用基于类的视图的snippet,但此表单的实例必须传递User
对象ex。
theform = forms.PasswordReset(request.user,request.POST)
这是一个问题,如何使用基于类的视图执行此操作:
class UserChangePassword(FormView):
form_class = PasswordReset
template_name = 'profile/change_password.html'
success_url = reverse_lazy('user_account')
答案 0 :(得分:7)
这里有两个选项:
编写自己的get_form
方法。
def get_form(self, form_class):
return form_class(self.request.user, self.request.POST)
编写您自己的get_form_kwargs
并更新表单的代码。
def get_form_kwargs(self):
kwargs = super(UserChangePassword, self).get_form_kwargs()
kwargs.update({'user': self.request.user, 'post': self.request.POST})
return kwargs
在这种情况下,您还需要更新表单,以便与kwargs
对一起正常使用。