РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
303 of 818 menu

Атрибут model

Атрибут model класса ListView указывает на модель Django, из которой будут извлекаться объекты для отображения в виде списка. Этот атрибут является обязательным, если не указан атрибут queryset. При использовании model класс автоматически генерирует QuerySet из всех записей указанной модели.

Синтаксис

from django.views.generic import ListView from myapp.models import Article class ArticleListView(ListView): model = Article

Пример

Давайте создадим представление для вывода списка статей с использованием атрибута model:

from django.views.generic import ListView from myapp.models import Article class ArticleListView(ListView): model = Article template_name = "articles/list.html" context_object_name = "articles"

В этом примере представление ArticleListView использует атрибут model для получения всех записей модели Article. Результат будет передан в шаблон под именем articles.

Пример

Давайте используем атрибут model с пагинацией для вывода статей постранично:

from django.views.generic import ListView from myapp.models import Article class ArticleListView(ListView): model = Article template_name = "articles/list.html" context_object_name = "articles" paginate_by = 10

В этом примере атрибут paginate_by указывает, что на одной странице должно отображаться по 10 статей. Атрибут model автоматически предоставляет QuerySet для пагинации.

Пример

Давайте переопределим атрибут context_object_name для удобной работы с данными в шаблоне:

from django.views.generic import ListView from myapp.models import Category class CategoryListView(ListView): model = Category template_name = "categories/list.html" context_object_name = "categories"

В этом примере список категорий будет передан в шаблон под именем categories. Если не указать атрибут context_object_name, то по умолчанию будет использовано имя object_list.

Смотрите также

  • атрибут queryset,
    который позволяет задать произвольный QuerySet
  • атрибут paginate_by,
    который определяет количество объектов на странице
  • атрибут context_object_name,
    который задает имя переменной в шаблоне
  • метод get_queryset,
    который переопределяет получение QuerySet
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить