Простые миксины ¶
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
(если он указан).
-