вступление к контекстному процессору
Всем привет,
Мы все можем согласиться с тем, что мы столкнулись с Request.user в проекте Django. Вы когда-нибудь задумывались, что это было? Ну, это встроенный контекст процессор.
Контекстный процессор – это функция, которая принимает аргумент и возвращает словарь в качестве вывода. В нашем случае возвращающийся словарь добавляется в качестве контекста, и самое большое преимущество заключается в том, что его можно получить доступ к глобально I.e, через все шаблоны. Хотя это может показаться слишком сложным или трудно добиться, его на самом деле не так и очень просто реализовать.
Итак, сегодня мы посмотрим на создание динамического нижнего колонтитула, используя контекстный процессор – нижний колонтитул, который может сделать год динамически, довольно удобным, когда вам не нужно менять исходный код каждый год. Я предполагаю, что у вас есть проект Django, и уже построено приложение.
Создание динамического нижнего колонтитула с использованием контекста процессора
Во-первых, вам нужно создать файл с именем context_processors.py. Здесь мы добавим следующий код.
import datetime def get_current_year_to_context(request): current_datetime = datetime.datetime.now() return { 'current_year': current_datetime.year }
Во-вторых, вам необходимо указать свой процессор контекста в файле настроек.
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR, 'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'myapp.context_processors.get_current_year_to_context', # <-- Add your context processor ], }, }, ]
Вот и все. Ваш контекстный процессор теперь готов к использованию в ваших шаблонах, и его можно получить доступ с помощью ключа, который мы указали «Current_year». Итак, чтобы создать динамический раздел нижнего колонтитула, все, что мне нужно сделать, это сделать.
Copyright {{ current_year }} - Heinek Halwin
Запустите свой проект, и вы видите, что год теперь виден как текущий год. Получайте удовольствие, используя это в ваших проектах.
Хорошего дня !
Оригинал: “https://dev.to/harveyhalwin/using-context-processor-in-django-to-create-dynamic-footer-45k4”