Простые миксины¶
ContextMixin¶
-
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для этих методов. Для получения дополнительной информации ознакомьтесь с документацией по rendering a template context.
-
TemplateResponseMixin¶
-
class
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могут быть изменены позже (например, в 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(если он указан).
-