Встречается на собеседованиях • сегодня

Для чего нужен контекстный процессор (context processor)

Контекстный процессор в Django — это функция, которая добавляет данные в контекст всех шаблонов автоматически. Это удобно, когда одни и те же данные нужны во множестве представлений (например, текущий пользователь, настройки сайта, корзина покупок).

Пример:

python
# settings.py
TEMPLATES = [
    {
        'OPTIONS': {
            'context_processors': [
                'myapp.context_processors.site_settings',
            ],
        },
    },
]

myapp/context_processors.py

def site_settings(request):
return {'SITE_NAME': 'My Awesome Site'}

text

Теперь `SITE_NAME` доступен во всех шаблонах без явной передачи из каждого view.  

**Нюансы:**  
- Контекстные процессоры выполняются для каждого запроса, поэтому не стоит нагружать их тяжелой логикой.  
- Данные из них переопределяются локальным контекстом view.  
- Можно использовать как встроенные (`django.template.context_processors.request`), так и кастомные.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы