像Django中的许多通用视图文档一样,我找不到明确描述如何使用Django表单的新基于类的通用视图的文档。
如何实现呢?
像Django中的许多通用视图文档一样,我找不到明确描述如何使用Django表单的新基于类的通用视图的文档。
如何实现呢?
你目前尝试了什么?基于类的视图相当新,并且文档没有很多示例,因此我认为你需要动手实验!
如果你想更新现有对象,请尝试使用UpdateView
。查看它使用的混合类(例如ModelFormMixin
,SingleObjectMixin
,FormMixin
),以查看哪些方法可以/必须重写。
祝你好运!
url(r'^myurl/$', CreateView.as_view(model=mymodel))
#Creates a model form for model mymodel
url(r'^myurl/(?<pk>\w+)/$', UpdateView.as_view(model=mymodel))
#Creates a model form for model mymodel and updates the object having pk as specified in url
url(r'^myurl/(?<slug>\w+)/$', DeleteView.as_view(model=mymodel, slug_field="myfield"))
#Creates a model form for model mymodel and deletes the object denoted by mymodel.objects.get(my_field=slug)
您还可以重写方法以获得更复杂的逻辑。您也可以传递一个查询集而不是模型对象。
另一种方法是在forms.py中创建一个modelform,然后将form_class传递给url。
url(r'^myurl/$', CreateView.as_view(form_class=myform))