我想與表單中創建一個頁面,每次我提交表單時它增加了一個項目的形式下面的列表。Django的 - 混合ListView和CreateView的
我可以使它工作使用2頁:使用
- 一頁混入
CreateView
添加項目 - 一個
ListView
頁面紛紛上榜。
但我想有形式和在同一頁上的列表中。所以,我試圖創建一個類既混入:
class FormAndListView(ListView, CreateView):
pass
然後我用這個類:
FormAndListView.as_view(
queryset=PdfFile.objects.order_by('id'),
context_object_name='all_PDF',
success_url = 'listview',
form_class = UploadFileForm,
template_name='textfrompdf/index.html',)),
但是,當我嘗試加載網頁,我得到的錯誤:Exception Value: 'FormAndListView' object has no attribute 'object'
Traceback:
File "C:\Program Files\Python_2.7\lib\site-packages\django\core\handlers\base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "C:\Program Files\Python_2.7\lib\site-packages\django\views\generic\base.py" in view
47. return self.dispatch(request, *args, **kwargs)
File "C:\Program Files\Python_2.7\lib\site-packages\django\views\generic\base.py" in dispatch
68. return handler(request, *args, **kwargs)
File "C:\Program Files\Python_2.7\lib\site-packages\django\views\generic\list.py" in get
122. return self.render_to_response(context)
File "C:\Program Files\Python_2.7\lib\site-packages\django\views\generic\base.py" in render_to_response
94. template = self.get_template_names(),
File "C:\Program Files\Python_2.7\lib\site-packages\django\views\generic\list.py" in get_template_names
134. names = super(MultipleObjectTemplateResponseMixin, self).get_template_names()
File "C:\Program Files\Python_2.7\lib\site-packages\django\views\generic\detail.py" in get_template_names
122. if self.object and self.template_name_field:
Exception Type: AttributeError at /PDF/
Exception Value: 'FormAndListView' object has no attribute 'object'
我不知道如何調試。從哪兒開始?
這個觀點太多了,這將是很難保持。用戶'jondykeman'對這個問題有一個更加清晰和更優雅的解決方案。 – zedr 2012-11-15 16:29:23