【问题标题】:adding form attribute to inputfield将表单属性添加到输入字段
【发布时间】:2022-01-14 16:15:43
【问题描述】:

我正在尝试实现提交表单,其中输入字段位于表单之外 (see here)。因此,我想将form="" 属性添加到我的输入字段中,如here 所述:

class TestForm(forms.Form):
    class Meta:
        model = Product
        fields = ["number"]
        
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields["number"] = forms.IntegerField(required = True)
        self.fields["number"].widget.attrs.update({"class": "form-control w-50"}) ## works
        self.fields["number"].widget.attrs.update({"form": "testformid"}) ## does not work

在模板中,输入字段呈现为:

<input type="number" name="number" value="8" class="form-control w-50" required="" id="id_number">

如何正确添加form="..."

【问题讨论】:

    标签: django django-forms django-templates


    【解决方案1】:

    尝试使用数据属性并使用一个更新调用

    class TestForm(forms.Form):
        class Meta:
            model = Product
            fields = ["number"]
            
        def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
            self.fields["number"] = forms.IntegerField(required = True)
            self.fields["number"].widget.attrs.update({"class": "form-control w-50","data-form": "testformid"})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多