2012-09-16 4 views
2

안녕하세요 클래스 기반보기로 snippet을 사용하고 싶지만이 양식의 인스턴스는 User 개체를 전달해야합니다.클래스 기반보기로 인스턴스화 할 요청 개체 전달

자신의 get_form 방법을 쓰기 : 당신은 여기에 두 가지 옵션이 있습니다

class UserChangePassword(FormView): 
    form_class = PasswordReset 
    template_name = 'profile/change_password.html' 
    success_url = reverse_lazy('user_account') 

답변

6

: 여기

theform = forms.PasswordReset(request.user,request.POST) 

그리고

은 클래스 기반의 전망이 작업을 수행하는 방법 질문입니다.

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 쌍으로 제대로 작동하도록 양식을 업데이트해야합니다.

관련 문제