Spec-Zone.ru › Django 1.9

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

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.9/ref/class-based-views/mixins-simple/

Spec-Zone.ru

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