【问题标题】:How can i add input field class(bootstrap class) "form-control" to {{form.as_p}}?如何将输入字段类(引导类)“表单控制”添加到 {{form.as_p}}?
【发布时间】:2018-10-12 02:52:25
【问题描述】:

如何将输入字段类(引导类)“form-control”添加到 {{form.as_p}} ??

            <form class="form-inline" action="" method="post">

                {% csrf_token %}

                <div class="row">

                    <div class="col-sm-4">

                    </div>

                    <div class="col-sm-6 ">

                        {{form.as_p}} <br>

                        <input type="submit" class="btn btn-success" value="OK" />

                        <a href="/login/home">

                            <input type="button" class="btn btn-success" value="HOME" />

                        </a>

                    </div>

                </div>

    </form>

forms.py

class NameForm(forms.ModelForm):
    class Meta:
        model = Register
        fields = "__all__"

我想在表单的哪里添加 init 方法?

【问题讨论】:

  • {{form.as_p}} 里面是什么?

标签: django bootstrap-4


【解决方案1】:

您可以通过覆盖 Form 中的 __init__ 方法来添加它

from django import forms

class NameForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(NameForm, self).__init__(*args, **kwargs)
        for field in self.fields.values():
            field.widget.attrs = {'class': 'form-control'}

    class Meta:
        model = Register
        fields = "__all__"

【讨论】:

  • 我想将 __init__() 添加到 forms.py 文件的位置
  • 错误显示 ---> 对于 self.fields.values() 中的字段 SyntaxError: invalid syntax
  • @Anjitha 抱歉,我错过了符号 :。更新了答案。请检查。
  • 不是for field in self.fields:吗?
  • @art06 不,如果你这样做,你会得到一个“字符串”而不是字段对象。
猜你喜欢
  • 2018-06-11
  • 1970-01-01
  • 1970-01-01
  • 2018-03-02
  • 1970-01-01
  • 2016-01-31
  • 2019-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多