2013-04-09 1 views
0

2 개의 버튼이있는 modelform이있어서 다른 기능을 수행하려고합니다. 내 modelform :다른 기능을 modelform 버튼 django에서 수행

나는에 다른 기능을 수행 할
class jobpostForm(ModelForm): 
    class Meta: 

     model = jobpost 
     fields = ('job_title','job_type','job_location','job_description','start_date','end_date','country','how_to_apply') 

    widgets = { 

     'job_type':RadioSelect(),  
     'job_location':TextInput(attrs={'size':'70'}), 
     'job_description':Textarea(attrs={'cols':200, 'rows':10}), 
      'start_date':TextInput(attrs={ 
       'class': 'datepicker', 
       'data-date-format': 'mm/dd/yyyy', 

      }), 
      'end_date':TextInput(attrs={ 
       'class': 'datepicker', 
       'data-date-format': 'mm/dd/yyyy', 
      }), 

    } 

    def __init__(self, *args, **kwargs): 
     #super(jobpostForm, self).__init__(*args, **kwargs) 
     #self.fields['start_date'].widget.attrs['class'] = 'datepicker' 
     super(jobpostForm, self).__init__(*args, **kwargs) 
     #self.fields['ref_id'].widget = forms.HiddenInput() 
     self.helper = FormHelper() 
     self.helper.form_class = 'horizontal-form' 
     self.helper.form_id = 'id-jobpostform' 
     self.helper.form_class = 'blueForms' 
     self.helper.form_method = 'post' 

     self.helper.form_action = '/portal/next/post/' 

     self.helper.add_input(Submit('submit_addcontent', 'Preview')) 
     self.helper.add_input(Submit('submit_addcontent', 'Submit')) 


     super(jobpostForm, self).__init__(*args, **kwargs) 

제출 preview.How 내가 내보기에서 액세스 할 수 있습니까? 여러 가지 방법으로 상황에 접근 할 수있는 GET 요청에 대한 데이터

  • 처리 POST 요청을 intitial 양식을 표시

    • :

  • +0

    나는 이것을 한번도 시도한 적이 없다. 어디서 이걸 배웠습니까? – catherine

    +0

    이것을 확인하십시오 https://django-crispy-forms.readthedocs.org/en/d-0/tags.html –

    +0

    아, 좋아 ... 나는 장고에 내장 된 기능이라고 생각했다. 제 3 자 앱에서 가져온 것입니다. 그 이후로, 나는 제 프로젝트에서 제 3 자 앱을 사용하지 않습니다. 나는 장고에 붙어 ... – catherine

    답변

    0

    장고 양식은 정말 두 가지를 처리합니다. 한 가지 방법은 두 단추 모두 양식을 제출하는 것입니다. 미리보기 단추는 preview이라는 숨겨진 필드를 채 웁니다. 양식이 제출 된 데이터를 처리합니다. 데이터에 preview이라는 POST 필드의 값이 포함 된 경우 미리보기가 렌더링됩니다. 그렇지 않으면 양식을 정상적으로 처리합니다.

    +0

    어떤 버튼을 클릭했는지 확인하는 방법은 무엇입니까? –

    +0

    예. 'preview' 버튼은 값'1'을 갖는'preview'라는 숨겨진 필드를 채 웁니다. 폼은'preview'라는 이름의 POST 매개 변수의 값이'1'인지 여부와 미리보기를 처리 중인지 확인할 수 있습니다. 그렇지 않으면 제출을 처리하십시오. –

    관련 문제