18

클래스 기반 제네릭 뷰를 사용하고 있습니다. 아무에게도 제안 할 수있는 방법은 어떻게 초기 값을 설정하여 폼을 업데이트 할 수 있습니까?클래스 기반 일반 뷰의 modelform에 초기 값 설정

get_initial() 메소드를 사용해 보았지만 성공하지 못했습니다. 내가

class IncidentUpdateView(UpdateView): 
     form_class = IncidentForm 
     form_class.initial = {"badge_number": '88888'} 
     model = Incident 
     template_name = 'hse/incident/incident_update.html' 

    def get_initial(self, form_class): 
     initials = { 
     "badge_number": '88888' 
     } 
     form = form_class(initial=initials) 
     return form 

    def get_success_url(self): 
     return reverse_lazy('hse-incident', args=[self.object.id]) 

답변

33

을 시도 코드 당신은 초기 값이 포함 된 사전을 반환하는 get_initial 방법을 정의해야 다음과 같은 :

class IncidentUpdateView(UpdateView): 
    initial = { 'value1': 'foo', 'value2': 'bar' } 
: 또는

class IncidentUpdateView(UpdateView): 

    def get_initial(self): 
     return { 'value1': 'foo', 'value2': 'bar' } 

을, 당신은 initial 값을 정의 할 수 있습니다

관련 문제