Контекстные процессоры

Контекстный процессор(context processor) — это функция Python, которая принимает объект запроса в качестве аргумента и возвращает словарь, добавляемый в контекст запроса. Они удобны, когда необходимо сделать что-то доступным для всех шаблонов.

По умолчанию при создании нового проекта с помощью команды startproject в проекте будут содержаться следующие контекстные процессоры шаблона в параметре context_processors внутри параметров TEMPLATES:

  • django.template.context_processors.debug : задает логические переменные debug и sql_queries в контексте, представляющем список запросов SQL, выполненных в запросе
  • django.template.context_processors.request : задает переменную запроса в контексте
  • django.contrib.auth.context_processors.auth : задает пользовательскую переменную в запросе
  • django.contrib.messages.context_processors.messages : При использовании данного метода переменная messages устанавливается в контексте, содержащем все сообщения, отправленные с помощью messages framework

Джанго также включает django.template.context_processors.csrf во избежание нападений с помощью межузловых запросов. Этот обработчик контекста не присутствует в настройках, но он всегда включен и не может быть отключен по соображениям безопасности.

Вы можете прочитать больше про контекстные процессоры здесь: https://docs.djangoproject.com/en/1.8/ref/templates/api/\#built-in-template-context-processors

results matching ""

    No results matching ""