2
0

generic-display.txt 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. =====================
  2. Generic display views
  3. =====================
  4. The two following generic class-based views are designed to display data. On
  5. many projects they are typically the most commonly used views.
  6. .. class:: django.views.generic.detail.DetailView
  7. While this view is executing, ``self.object`` will contain the object that
  8. the view is operating upon.
  9. **Ancestors (MRO)**
  10. * :class:`django.views.generic.detail.SingleObjectTemplateResponseMixin`
  11. * :class:`django.views.generic.base.TemplateResponseMixin`
  12. * :class:`django.views.generic.detail.BaseDetailView`
  13. * :class:`django.views.generic.detail.SingleObjectMixin`
  14. * :class:`django.views.generic.base.View`
  15. **Method Flowchart**
  16. 1. :meth:`dispatch()`
  17. 2. :meth:`http_method_not_allowed()`
  18. 3. :meth:`get_template_names()`
  19. 4. :meth:`get_slug_field()`
  20. 5. :meth:`get_queryset()`
  21. 6. :meth:`get_object()`
  22. 7. :meth:`get_context_object_name()`
  23. 8. :meth:`get_context_data()`
  24. 9. :meth:`get()`
  25. 10. :meth:`render_to_response()`
  26. **Example views.py**::
  27. from django.views.generic.detail import DetailView
  28. from django.utils import timezone
  29. from articles.models import Article
  30. class ArticleDetailView(DetailView):
  31. model = Article
  32. def get_context_data(self, **kwargs):
  33. context = super(ArticleDetailView, self).get_context_data(**kwargs)
  34. context['now'] = timezone.now()
  35. return context
  36. **Example urls.py**::
  37. from django.conf.urls import patterns, url
  38. from article.views import ArticleDetailView
  39. urlpatterns = patterns('',
  40. url(r'^(?P<slug>[-_\w]+)/$', ArticleDetailView.as_view(), name='article-detail'),
  41. )
  42. .. class:: django.views.generic.list.ListView
  43. A page representing a list of objects.
  44. While this view is executing, ``self.object_list`` will contain the list of
  45. objects (usually, but not necessarily a queryset) that the view is
  46. operating upon.
  47. **Mixins**
  48. * :class:`django.views.generic.list.ListView`
  49. * :class:`django.views.generic.list.MultipleObjectTemplateResponseMixin`
  50. * :class:`django.views.generic.base.TemplateResponseMixin`
  51. * :class:`django.views.generic.list.BaseListView`
  52. * :class:`django.views.generic.list.MultipleObjectMixin`
  53. * :class:`django.views.generic.base.View`
  54. **Method Flowchart**
  55. 1. :meth:`dispatch()`
  56. 2. :meth:`http_method_not_allowed()`
  57. 3. :meth:`get_template_names()`
  58. 4. :meth:`get_queryset()`
  59. 5. :meth:`get_objects()`
  60. 6. :meth:`get_context_data()`
  61. 7. :meth:`get()`
  62. 8. :meth:`render_to_response()`