我对 Django 很陌生。在学习了一些教程之后,我成功地使用 Python 通用视图创建了一个表单(创建视图)
我有一个“问题”模型
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)
并使用这个模型我创建了一个视图类
class QuestionCreate(CreateView):
model = Question
fields = ['title', 'body', 'category']
这确实生成了一个漂亮的 HTML 表单。但是如何将 CSS 属性传递给每个字段呢?
您可以为问题编写一个模型表单并将其传递给创建视图,
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(QuestionForm, self).__init__(*args, **kwargs)
self.fields['myfield1'].widget.attrs.update({'class' : 'myfieldclass'})
然后将其传递给属性form_class
of CreateView
,
class QuestionCreate(CreateView):
model = Question
form_class = QuestionForm
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)