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

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 ©2021 All rights reserved