【问题标题】:Need to change form in django需要在 django 中更改表单
【发布时间】:2019-10-08 17:33:14
【问题描述】:

我想更改表单输入。我想更改每个元素的外观。每个小部件都应该有个人类或 id,所以这样的事情不会解决:

<form action="/contact/" method="post">
    {% for field in form %}
        <div class="fieldWrapper">
            {{ field.errors }}
            {{ field.label_tag }}: {{ field }}
        </div>
    {% endfor %}
    <p><input type="submit" value="Send message" /></p>
</form>

不使用view-export也可以吗?

【问题讨论】:

    标签: python html django forms input


    【解决方案1】:

    尝试在您的 forms.py 中执行此操作:

    class NameOfYourForm (forms.Form):
    
        fieldToEdit = forms.CharField (
            max_length = 250,
            widget = forms.TextInput(attrs={'class': "CSSclass"}),
            )
    

    您也可以通过这种方式更新小部件属性,将其添加到表单类中

    fieldToEdit.widget.attrs.update({'class': 'CSSclass'})
    

    这是你要找的吗?

    【讨论】:

    • 不能直接在字段中设置attrs,必须在小部件中设置。
    【解决方案2】:

    您可以直接从表单类更改小部件、更改输入和添加类:

    class SomeForm(forms.Form):
        some_field = forms.CharField(
            widget=forms.TextInput(attrs={'input': 'number', 'class': 'SomeClass'})
        )
    
    

    【讨论】:

      猜你喜欢
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 1970-01-01
      • 2012-02-28
      • 2011-07-13
      • 2020-09-19
      相关资源
      最近更新 更多