• 3.1
  • 5.0
  • 6.1
  • Версия документации: 3.2

Простые миксины

КонтекстМиксин

class django.views.generic.base.ContextMixin

Атрибуты

extra_context

Словарь для включения в контекст. Это удобный способ указать некоторый контекст в as_view(). Пример использования:

from django.views.generic import TemplateView
TemplateView.as_view(extra_context={'title': 'Custom Title'})

Методы

get_context_data(**kwargs)

Возвращает словарь, представляющий контекст шаблона. Предоставленные аргументы ключевого слова будут составлять возвращаемый контекст. Пример использования:

def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context['number'] = random.randrange(1, 100)
    return context

Контекст шаблона всех универсальных представлений на основе классов включает переменную view, которая указывает на экземпляр View.

Используйте alters_data, где это уместно.

Обратите внимание, что наличие экземпляра представления в контексте шаблона может предоставить авторам шаблонов потенциально опасные методы. Чтобы предотвратить вызов подобных методов в шаблоне, установите для этих методов alters_data=True. Для получения дополнительной информации прочтите документацию по рендерингу контекста шаблона.

TemplateResponseMixin

class django.views.generic.base.TemplateResponseMixin

Предоставляет механизм для создания TemplateResponse, учитывая подходящий контекст. Используемый шаблон настраивается и может быть дополнительно настроен с помощью подклассов.

Атрибуты

template_name

Полное имя используемого шаблона, определенное строкой. Отсутствие определения template_name вызовет исключение django.core.Exceptions.ImproperlyConfigured.

template_engine

NAME механизма шаблонов, который будет использоваться для загрузки шаблона. template_engine передается как аргумент ключевого слова using в response_class. По умолчанию установлено значение «Нет», что указывает Django искать шаблон во всех настроенных движках.

response_class

Класс ответа, который будет возвращен методом render_to_response. По умолчанию используется TemplateResponse. Шаблон и контекст экземпляров TemplateResponse могут быть изменены позже (например, в промежуточном программном обеспечении ответа шаблона <template-response-middleware>`).

Если вам нужна загрузка пользовательского шаблона или создание экземпляра объекта пользовательского контекста, создайте подкласс «TemplateResponse» и назначьте его «response_class».

content_type

Тип контента, который будет использоваться для ответа. content_type передается как аргумент ключевого слова в response_class. По умолчанию установлено значение None — это означает, что Django использует text/html.

Методы

render_to_response(context, **response_kwargs)

Возвращает экземпляр self.response_class.

Если предоставлены какие-либо ключевые аргументы, они будут переданы конструктору класса ответа.

Вызывает get_template_names() для получения списка имен шаблонов, по которым будет производиться поиск существующего шаблона.

get_template_names()

Возвращает список имен шаблонов для поиска при отрисовке шаблона. Будет использован первый найденный шаблон.

Реализация по умолчанию вернет список, содержащий template_name (если оно указано).

Back to Top