Простые миксины
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для этих методов. Дополнительные сведения см. в документации о рендеринге контекста шаблона.
-
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можно изменить позднее (например, в промежуточном ПО для ответов с шаблонами).Если требуется настроить загрузку шаблонов или создание пользовательского объекта контекста, создайте подкласс
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(если он указан).
-
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/6.0/ref/class-based-views/mixins-simple/