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