Основной сценарий - сделать определенные переменные доступными в вашем шаблоне.Например, контекстный процессор auth
делает (среди прочего) переменную user
доступной для использования в вашем шаблоне, чтобы вам не пришлось передавать ее самостоятельно.Хотя это довольно большой абзац, документация Django довольно неплохо объясняет его.
В двух словах: добавляя context_instance=RequestContext(request)
к вашему вызову render
, все процессоры определеныв вашем settings.py
(под переменной TEMPLATE_CONTEXT_PROCESSORS
) выполняются по порядку.Каждый из этих процессоров возвращает dict
с переменными, которые доступны в шаблоне.Использование набора по умолчанию означает, что вам не нужно добавлять, например, переменные user
, csrf
или messages
самостоятельно: это делается процессорами.
Примером собственного контекстного процессора может бытьдобавить параметры главного меню в шаблон.Допустим, вы хотите выделить меню для текущей категории, которую просматривает пользователь: создав собственный контекстный процессор, который определяет текущее местоположение, он может добавить некоторые переменные в шаблон, которые используются вашим меню для выделения.