gpt4 book ai didi

django - 如何向使用 Django CreateView 创建的表单添加自定义样式

转载 作者:行者123 更新时间:2023-12-05 08:14:57 24 4
gpt4 key购买 nike

我是 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com