Spec-Zone.ru › Django 6.0

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

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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API