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