Spec-Zone.ru › Django 2.0

Общие представления отображения

Два следующих общих представления на основе классов предназначены для отображения данных. Во многих проектах они обычно являются наиболее часто используемыми представлениями.

DetailView

class django.views.generic.detail.DetailView

Во время выполнения этого представления, self.object будет содержать объект, над которым работает представление.

Предки (MRO)

Это представление наследует методы и атрибуты от следующих представлений:

  • django.views.generic.detail.SingleObjectTemplateResponseMixin
  • django.views.generic.base.TemplateResponseMixin
  • django.views.generic.detail.BaseDetailView
  • django.views.generic.detail.SingleObjectMixin
  • django.views.generic.base.View

Диаграмма потока методов

  1. dispatch()
  2. http_method_not_allowed()
  3. get_template_names()
  4. get_slug_field()
  5. get_queryset()
  6. get_object()
  7. get_context_object_name()
  8. get_context_data()
  9. get()
  10. render_to_response()

Пример myapp/views.py:

%%%CODE_BLOCK_18%%>

Пример myapp/urls.py:

%%%CODE_BLOCK_19%%>

Пример myapp/article_detail.html:

%%%CODE_BLOCK_20%%>

ListView

class django.views.generic.list.ListView

Страница, представляющая список объектов.

Во время выполнения этого представления, self.object_list будет содержать список объектов (обычно, но не обязательно, набор запросов), над которыми работает представление.

Предки (MRO)

Это представление наследует методы и атрибуты от следующих представлений:

  • django.views.generic.list.MultipleObjectTemplateResponseMixin
  • django.views.generic.base.TemplateResponseMixin
  • django.views.generic.list.BaseListView
  • django.views.generic.list.MultipleObjectMixin
  • django.views.generic.base.View

Диаграмма потока методов

  1. dispatch()
  2. http_method_not_allowed()
  3. get_template_names()
  4. get_queryset()
  5. get_context_object_name()
  6. get_context_data()
  7. get()
  8. render_to_response()

Пример views.py:

%%%CODE_BLOCK_37%%>

Пример myapp/urls.py:

%%%CODE_BLOCK_38%%>

Пример myapp/article_list.html:

%%%CODE_BLOCK_39%%>

Если вы используете пагинацию, вы можете адаптировать пример шаблона из документации по пагинации. Измените экземпляры contacts в этом примере шаблона на %%%CODE_BLOCK_41%%.

class django.views.generic.list.BaseListView

Базовое представление для отображения списка объектов. Оно не предназначено для непосредственного использования, а скорее как родительский класс для django.views.generic.list.ListView или других представлений, представляющих списки объектов.

Предки (MRO)

Это представление наследует методы и атрибуты от следующих представлений:

  • django.views.generic.list.MultipleObjectMixin
  • django.views.generic.base.View

Методы

get(request, *args, **kwargs)

Добавляет object_list в контекст. Если allow_empty равно True, то отображается пустой список. Если allow_empty равно False, то поднимается ошибка 404.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/2.0/ref/class-based-views/generic-display/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API