python - 为通用表单的字段指定 css 类

标签 python css django

我有 CRUD View ,其中之一如下所示:

#model
class Model(models.Model):
    field1 = models.CharField()
    field2 = models.CharField()



#view
class Model1CreateView(CreateView):
    model = Model1
    fields = ['field1', 'field2']

#template
and model1_form.html

    <form action="{% url 'model1_new' %}" method="post">
      {% csrf_token %}
      {{ form.as_p }}
      <input type="submit" value="Submit" />
    </form>

我需要为field1指定一个css类,我该怎么做?

最佳答案

您需要创建一个Form并修改该字段小部件的attrs。有两种常见的方法可以做到这一点。无论哪种情况,您都需要创建一个自定义 Form 并告诉您的 View 使用该表单:

forms.py

from django import forms
from myapp.models import FooModel

class FooForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(FooForm, self).__init__(*args, **kwargs)
        self.fields['field1'].widget.attrs = { 'class': 'fooclass' }

    class Meta:
        model = FooModel
        fields = ['field1', 'field2']

from django import forms
from myapp.models import FooModel

class FooForm(forms.ModelForm):
    field1 = forms.CharField(widget=forms.Textarea(attrs={'class':'fooclass';}))

    class Meta:
        model = FooModel
        fields = ['field1', 'field2']

然后在您的views.py中:

from myapp.forms import FooForm

class Model1CreateView(CreateView):
    model = Model1
    fields = ['field1', 'field2']
    form_class = FooForm

关于python - 为通用表单的字段指定 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26713606/

相关文章:

python - 如何找到从一个系列到另一个系列的最近邻索引

python - 为什么要从类的*外部*设置 "private"python 属性?

python "' NoneType'对象没有属性 'encode'“

javascript - CSS 下拉菜单 : Add delay on mouse out

python - 我可以使用 python-django 框架开发 Web 应用程序并将其作为桌面应用程序运行吗?

python - PySpark textFile 命令中的正则表达式

用于多个元素的 jQuery 奇数/偶数选择器

html - 覆盖隐藏输入标签的标准 CSS

django - 是否可以用复杂的查询来注释 Django ORM 查询

django - 使用 django rest 框架的 PUT、GET、POST、DELETE 方法