Простые миксины
ContextMixin
-
class django.views.generic.base.ContextMixin -
Методы
-
get_context_data(**kwargs) -
Возвращает словарь, представляющий контекст шаблона. Переданные ключевые аргументы составят возвращаемый контекст. Пример использования:
def get_context_data(self, **kwargs): context = super(RandomNumberView, self).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могут быть изменены позже (например, в средстве обработки шаблонов ответа).В более ранних версиях Django
TemplateResponseиспользовалсяRequestContextтаким образом, что значения из обработчиков контекста шаблонов переписывали переменные шаблона, определённые в ваших представлениях. Например, если вы создали подклассDetailViewи установилиcontext_object_nameвuser, обработчик контекстаdjango.contrib.auth.context_processors.authперезапишет вашу переменную текущим пользователем. Теперь, для согласованности сrender()сокращением, значения в контексте, предоставленном классом, перекрывают значения из обработчиков контекста.Если вам нужен пользовательский загрузчик шаблонов или пользовательская инициализация объекта контекста, создайте подкласс
TemplateResponseи назначьте егоresponse_class.
-
content_type -
Тип содержимого для использования в ответе.
content_typeпередаётся в качестве ключевого аргумента методуresponse_class. По умолчаниюNone– это означает, что Django используетDEFAULT_CONTENT_TYPE.
Методы
-
render_to_response(context, **response_kwargs) -
Возвращает экземпляр
self.response_class.Если предоставлены любые ключевые аргументы, они будут переданы в конструктор класса ответа.
Вызывает
get_template_names()для получения списка имён шаблонов, которые будут проверяться на наличие.
-
get_template_names() -
Возвращает список имён шаблонов, которые нужно искать при рендеринге шаблона.
Если указано
template_name, реализация по умолчанию возвращает список, содержащийtemplate_name(если он указан).
-
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.8/ref/class-based-views/mixins-simple/