8

2 つのフォームに同じモデルを使用し、フィールドのラベルを変更したいのですが、どうすればラベルを変更できますか?

これは私の1つのフォームです:

class jobpostForm(forms.ModelForm):

    class Meta:

        model = jobpost
        fields = ('job_type','title','company_name','location','country','description','start_date','end_date','how_to_apply')

    widgets = {

        'job_type':RadioSelect(),    
        'location':TextInput(attrs={'size':'70','cols': 10, 'rows': 20}),   
        'description': TinyMCE(attrs={'cols':'100', 'row': '80'}),
            'start_date':AdminDateWidget(attrs={'readonly':'readonly'}),
            'end_date':AdminDateWidget(attrs={'readonly':'readonly'}),
            'how_to_apply':RadioSelect(),

    }

    def __init__(self, *args, **kwargs):
        super(jobpostForm, self).__init__(*args, **kwargs)
        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'))


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

「勤務地」を「勤務地」に変更したいのですが、どうすればいいですか?

4

2 に答える 2

19

この問題は、Django Crispy Forms に固有のものではありません。

1 つのオプションは、 のinit()メソッドでラベルを設定することJobPostFormです。

def __init__(self, *args, **kwargs):
    super(JobPostForm, self).__init__(*args, **kwargs)
    self.fields['location'].label = "Job Location"

この種の質問に対処する場合は、Overloading Django Form Fieldsをよく読んでください。

于 2013-04-29T12:49:33.123 に答える