作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Django 的新手。按照一些教程,我设法使用 Python 通用 View (CreateView) 创建了一个表单
我有一个“问题”模型
class Question(models.Model):
title = models.CharField(max_length=200)
body = models.TextField(max_length=2000)
category = models.CharField(max_length=50)
votes = models.IntegerField(default=0)
asked_date = models.DateTimeField(default=datetime.now)
并使用这个模型创建了一个 View 类
class QuestionCreate(CreateView):
model = Question
fields = ['title', 'body', 'category']
这确实生成了一个漂亮的 HTML 表单。但是如何将 CSS 属性传递给每个字段?
最佳答案
您可以为问题编写模型表单并将其传递给创建 View ,
class QuestionForm(forms.ModelForm):
class Meta:
model = Question
fields = ('myfield1', 'myfield2)
widgets = {
'myfield1': forms.TextInput(attrs={'class': 'myfieldclass'}),
}
或者你可以覆盖 init 方法来为每个字段指定一个特定的类,
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['myfield1'].widget.attrs.update({'class' : 'myfieldclass'})
然后,传递给CreateView
的属性form_class
,
class QuestionCreate(CreateView):
model = Question
form_class = QuestionForm
关于django - 如何向使用 Django CreateView 创建的表单添加自定义样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44492393/
我是一名优秀的程序员,十分优秀!