亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以 Django 脆皮形式覆蓋提交按鈕標簽

以 Django 脆皮形式覆蓋提交按鈕標簽

ibeautiful 2023-05-16 15:11:15
我有一個工作正常的上傳表格。這個想法是有人上傳文件并選擇標題。文件被保存到服務器并且無法更改,但標題可以。所以我正在尋找一種方法來重用相同的表單并將提交按鈕上的標簽從“上傳文件”更改為“保存更改”。這是我的上傳表格:class MyForm(forms.Form):  field_1 = forms.FileField()  field_2 = forms.CharField()    def __init__(self, *args, **kwargs):    super().__init__(*args, **kwargs)        self.helper = FormHelper()        self.helper.form_method = 'post'                self.helper.layout = Layout(            Row( Column('field_1', css_class='form-group col-md-12 mb-0') ),            Row( Column('field_2', css_class='form-group col-md-12 mb-0') ),            Submit('submit', 'Upload File', css_class='btn-success', formnovalidate='formnovalidate')) 現在我想創建一個相同形式的“編輯變體”。File 字段更改為 CharField 并設為只讀。它顯示文件的服務器路徑并且不能更改。現在我正在嘗試更改按鈕標簽。class MySecondForm(MyForm):  field_1 = forms.CharField()    def __init__(self, *args, **kwargs):        super().__init__(*args, **kwargs)        self.fields['field_1'].widget.attrs['readonly'] = True        self.helper['submit'].label = "Save Changes"以上沒有顯示錯誤但不起作用。標簽仍然是“上傳文件”。我當然可以只復制和更改我的 FormHelper 布局,但我的實際表單有 20 多個字段,我寧愿不只是復制粘貼整個塊來更改一個標簽。有沒有辦法設置現有提交的標簽?
查看完整描述

1 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

你絕對可以做到!這是您的“編輯”表單的更新版本,帶有更新按鈕的自定義 init 方法Submit:


class MySecondForm(MyForm):

    field_1 = forms.CharField()


    def __init__(self, *args, **kwargs):

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

        self.fields['field_1'].widget.attrs['readonly'] = True

        # From crispy_forms.layout.Layout.__init__, it sets up self.fields 

        # as a list, which we can now alter b/c they've been created in the

        # parent class. Let's target the Submit() item, which is the last 

        # item in layout.fields:

        self.helper.layout.fields[-1].value = "Save Changes"


查看完整回答
反對 回復 2023-05-16
  • 1 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號