gpt4 book ai didi

Django 的 forms.Form 与 forms.ModelForm

转载 作者:行者123 更新时间:2023-11-28 19:33:20 26 4
gpt4 key购买 nike

谁能给我解释一下 Django 的 forms.Formforms.ModelForm 的相同点和不同点?

最佳答案

forms.Form 创建的表单由您手动配置。您最好将这些用于不直接与模型交互的表单。例如联系表或时事通讯订阅表,您可能不一定要与数据库进行交互。

作为从 forms.ModelForm 创建的表单将自动创建,然后您可以稍后对其进行调整。最好的示例确实来自 Django 网站上提供的一流文档。

forms.Form:
文档:Form objects
使用 forms.Form 创建的普通表单示例:

from django import forms

class ContactForm(forms.Form):
subject = forms.CharField(max_length=100)
message = forms.CharField()
sender = forms.EmailField()
cc_myself = forms.BooleanField(required=False)

forms.ModelForm:
文档:Creating forms from models
直接来自文档:

If your form is going to be used to directly add or edit a Django model, you can use a ModelForm to avoid duplicating your model description.

使用 forms.Modelform 创建的模型表单示例:

from django.forms import ModelForm
from . import models

# Create the form class.
class ArticleForm(ModelForm):
class Meta:
model = models.Article

此表单自动具有与创建它的 Article 模型相同的所有字段类型。

关于Django 的 forms.Form 与 forms.ModelForm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2303268/

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