Quiero crear una página con un formulario, y cada vez que envío el formulario agrega un elemento a la lista debajo del formulario.Django - Mezcla ListView y CreateView
puedo hacer que funcione por medio de 2 páginas:
- una página utilizando el mixin
CreateView
para agregar elementos - una página
ListView
tener la lista.
pero estoy tratando de tener la forma y la lista en la misma página. Así que traté de crear una clase con tanto mixin:
class FormAndListView(ListView, CreateView):
pass
Luego he utilizado esta clase:
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',)),
Pero cuando intento cargar la página, me sale el error: 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'
No tengo idea de cómo depurar eso. ¿Donde empezar?
hay demasiado pasando con este punto de vista y que será difícil de MANTENER. El usuario 'jondykeman' tiene una solución más sana y más elegante para este problema. – zedr