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

ContextMixin

класс 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

класс django.views.generic.base.TemplateResponseMixin

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

Атрибуты

template_name

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

template_engine

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

response_class

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

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

content_type

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

методы

render_to_response( контекст , ** response_kwargs )

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

Любой предоставленный именованный параметр будет передан конструктору класса ответа.

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

get_template_names()

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

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

Copyright ©2020 All rights reserved