0

我有一个带有 2 个按钮的模型,我想对它们执行不同的功能。我的模型:

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)

我想在提交和预览时执行不同的功能。如何在我的视图中访问它们?

4

1 回答 1

0

django 表单确实处理了两件事:

  • 在 GET 请求中显示初始表单
  • 处理带有数据的 POST 请求

您可以通过多种方式处理您的情况。一种方法是让两个按钮都提交您的表单。预览按钮将填充一个名为 的隐藏字段preview。您的表单将处理提交的数据。如果数据在名为 POST 的字段中包含一个值,preview它将呈现预览。否则,它将正常处理表单。

于 2013-04-09T07:27:59.627 回答