我已经阅读了这方面的文档,但我似乎无法让 django 的 ModelFormMixin 正常工作。这就是我在 urls.py 中的内容:
...
url(r'^vendors/edit/(?P<pk>\d+)/$', 'vendor_edit', name='vendor_edit'),
...
在views.py中:
class VendorEditView(DetailView, ModelFormMixin):
form_class = VendorForm
model = Vendor
success_url = reverse_lazy('vendor_list')
template_name = 'vendor_edit.html'
和模板:
<form action='.' method='post'>{% csrf_token %}
{{ form }}
<button>Save</button>
</form>
DetailView
除了( View
, TemplateView
, ) 之外,我尝试将它混合到不同类型的视图中,FormView
但没有成功。
我期望发生的是,当我转到 时/vendors/edit/1
,页面上会出现一个表单,其中已经填写了对象的详细信息以供编辑。我得到的要么是空白表格,要么是没有表格,要么是 405 HTTP 响应。我在这里有什么明显的遗漏吗?