📅  最后修改于: 2023-12-03 15:00:03.623000             🧑  作者: Mango
在 Django 中,视图是处理 HTTP 请求并返回 HTTP 响应的函数或类的称呼。Django 提供了许多视图方法来处理请求,其中之一便是 CreateView
。
CreateView
是 Django 中的一个类视图,它提供了一个带表单的页面,以便用户创建新的对象并将其保存到数据库中。CreateView
是一个通用视图,因为它可以在不同的模型上使用,只需向视图提供相关模型就可以了。
CreateView
的用法很简单。首先,我们需要导入它:
from django.views.generic.edit import CreateView
接下来,我们需要为视图指定以下属性:
model
:要创建的模型fields
:要渲染表单的字段列表success_url
:创建成功后要重定向的 URL。下面是一个示例代码:
from django.views.generic.edit import CreateView
from myapp.models import MyModel
class MyModelCreateView(CreateView):
model = MyModel
fields = ['title', 'content', 'published_date']
success_url = '/thanks/'
这个视图将创建一个名为 MyModel
的模型,并为该模型提供一个表单。表单将显示 title
、content
和 published_date
字段,其中 title
和 content
是必填字段。如果表单成功提交,CreateView
将在数据库中创建一个新对象并将用户重定向到 /thanks/
页面。
CreateView
中包含许多有用的方法,以下是其中的几个:
form_valid(form)
:当表单验证成功时,我们可以在此方法中执行自定义逻辑。form_invalid(form)
:当表单验证失败时,我们可以在此方法中执行自定义逻辑。get_context_data(**kwargs)
:返回一个字典,其中包含模板上下文的所有变量。get_success_url()
:返回成功后的 URL。CreateView
是 Django 中非常有用的一个视图类,可以帮助我们快速创建带表单的页面。它非常易于使用,同时提供了许多自定义选项和方法,可以根据需要进行扩展。