覆盖Django酥脆形式的Submit按钮标签

毛里斯提恩

我有一个上传表格,效果很好。这个想法是有人上传文件并选择标题。该文件已保存到服务器,无法更改,但标题可以更改。因此,我正在寻找一种方法来重用相同的表单并将提交按钮上的标签从“上传文件”更改为“保存更改”。

这是我的上传表格:

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')) 

现在,我想创建一个相同形式的“ edit-variation”。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多个字段,我宁愿不只是复制粘贴整个块,也只是更改一个标签。

有没有办法设置现有“提交”的标签?

黄鲨

您绝对可以做到这一点!这是“编辑”表单的更新版本,带有用于更新Submit按钮的自定义init方法

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"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django酥脆形式错误消息

来自分类Dev

如何从酥脆形式的视图中更改“提交”按钮文本?

来自分类Dev

如何从酥脆形式的视图中更改“提交”按钮文本?

来自分类Dev

如何在Django中以酥脆形式使用Django parsley?

来自分类Dev

django-autocomplete-light具有酥脆的形式

来自分类Dev

django css:CDN和酥脆形式的常规查询

来自分类Dev

自定义django过滤器的酥脆形式

来自分类Dev

自定义django过滤器的酥脆形式

来自分类Dev

tkinter按钮覆盖标签

来自分类Dev

覆盖形式的Django翻译

来自分类Dev

标签栏覆盖了按钮

来自分类Dev

覆盖 Django 表单中的标签

来自分类Dev

酥脆形式的InlineRadios不显示我的模型状态

来自分类Dev

酥脆形式的助手没有生效

来自分类Dev

ImportError:没有名为酥脆形式的模块

来自分类Dev

酥脆形式的助手没有生效

来自分类Dev

在输入字段内添加显示密码按钮-酥脆的表格

来自分类常见问题

覆盖大中小按钮标签,material-ui

来自分类Dev

覆盖大中小按钮标签,material-ui

来自分类Dev

覆盖 ADF 中 <af:dialog> 组件中“ok”按钮的标签

来自分类Dev

Django使用酥脆的表单使用CSS渲染表单字段

来自分类Dev

Django:重叠标签和单选按钮选项

来自分类Dev

如何以标签zend形式包装单选按钮组

来自分类Dev

如何使单击按钮以其他形式更改标签文本?

来自分类Dev

如何以快速创建形式编写用于保存按钮的自定义JavaScript覆盖

来自分类Dev

提交按钮不再适用于django脆皮形式

来自分类Dev

Django的多个选择浏览器按钮的形式像在HTML

来自分类Dev

Django:将其他形式的参数传递给“提交”按钮

来自分类Dev

获取Django中HTML形式的多个按钮之一的ID

Related 相关文章

热门标签

归档