Django的FormView和CreateView有什么区别?
我只看到一个区别,FormView需要ModelForm但CreateView不需要。
除此之外,两者都可以创建对象。
Django的FormView和CreateView有什么区别?
我只看到一个区别,FormView需要ModelForm但CreateView不需要。
除此之外,两者都可以创建对象。
来自Django-docs:
显示表单的视图。如果验证错误,则重新显示带有验证错误的表单;如果成功,则重定向到新URL。
它可用于各种目的,不限于创建对象。一个很好的例子是将其用作联系表格并发送电子邮件而不需要在数据库中创建记录。
为创建对象显示表单的视图,如果存在验证错误,则重新显示表单(如果有),并保存该对象。
这个通用视图的唯一目的是创建对象。但它不仅限于创建对象。您也可以从这个视图发送电子邮件(就像 FormView)
如果您的 FormView
创建模型对象,则最好使用 CreateView
,而不是创建模型表单,这就是通用视图的作用,减少重复。