python - django 模型表单自定义字段

标签 python django django-models django-forms

我创建了一个包含一些类的模型:

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 的文件,其中包含与模型类中相同的字段,然后自定义它们?是否可以仅使用模型表单更改单个字段的 css 属性,如宽度、高度?

最佳答案

表单字段使用差异库创建一个。您需要导入 django.forms 并对特定 Field 使用 form.XXX

from django import forms


class StudentForm(ModelForm):
    class Meta:
        model = Student

    subject = forms.CharField(label='New label')

关于python - django 模型表单自定义字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14027185/

相关文章:

python - 如何将 OrderedDict 的混合列表转换为 Dataframe?

python - 如何使 argparse 将类型转换应用于位置参数的默认值?

python - 参数组之间的互斥

python twitter api 获取状态

javascript - 从 Django View 打开新选项卡的命令

django - 在不使用表单的模型上设置字段

python - 如何在 Django 中使用内联表单集删除模型对象

python - Django:settings.py 在哪里寻找导入,为什么?

python - 遍历模型字段 - Django

python - prefetch_与 Django 1.5 + django-model-utils 相关