【发布时间】:2012-12-11 05:17:31
【问题描述】:
我创建了一个包含一些类的模型:
class Student(models.Model):
name = models.CharField(max_length=40)
last_name = models.CharFIeld(max_length=40)
(...)
在底部的同一个 models.py 文件中,我添加了一个与我的一个模型相对应的类,这样我就可以创建一个表单:
class StudentForm(ModelForm):
class Meta:
model = Student
如何自定义通过 ModelForm 类创建的表单字段?我正在阅读 django 文档,但我无法理解覆盖默认类型部分。 例如,在文档中他们说这会起作用:
class ArticleForm(ModelForm):
pub_date = DateField(label='Publication date')
class Meta:
model = Article
但是当我输入我的值时它不起作用。我无法定义我的标签:
class StudentForm(ModelForm):
name = CharField(label='New label')
class Meta:
model = Student
我是否必须创建一个像 forms.py 这样的文件,其中包含与 Model 类中相同的字段,然后自定义它们?是否可以仅使用模型表单来更改单个字段的 css 属性,例如宽度、高度?
【问题讨论】:
-
请具体说明当您说它不起作用时会发生什么。例如,从您的代码中,您没有在“类”定义之后缩进一行(行包含:name = ...),这将导致语法错误。
-
不工作是例如我不能单独使用 CharField 我需要添加 models.CharField,但是标签没有改变,因为 models.CharField 没有标签属性。 runserver 命令挂在 Validating models... 没有错误。我忘了在这里写我的问题,但不是在项目中
标签: python django django-models django-forms