我有一个使用的基于类的通用视图(从django.views.generic.DetailView导出)之一,具有定制形式的图:响应表单POST中的DetailView
from django.views.generic import DetailView
class MyDetailView(DetailView):
model=MyModel
def get_object(self):
object = MyModel.objects.get(uuid=self.kwargs['uuid'])
def get_context_data(self, **kwargs):
form = MyForm
context = super(MyDetailView, self).get_context_data(**kwargs)
context['form'] = form
return context
我希望POST提交表单以与GET相同的URL。是否有可能修改此视图代码,以便它也可以响应POST?如果是这样,怎么样?我需要从另一个mixin类继承吗?添加处理表单数据的方法的名称是什么?
或者,在这个场景的相同URL下回复POST只是一个坏主意? (注意:表单不会修改正在显示的MyModel对象,而是用于创建不同类型的模型对象,因此UpdateView并不适合)。
你可以发布一个指向描述这种方法的期望参数Django文档?我无法找到它。 – 2012-01-11 14:24:58
Django关于基于类的泛型视图的文档仍然不是很令人满意,所以最好的做法是看看[code](https://code.djangoproject.com/browser/django/trunk/django/views /generic/edit.py#L134)...还可以看看可用的基本视图/ mixin,由于它们的编号有点令人困惑,但您会得到有价值的见解! – 2012-01-11 14:30:38