@ATNC
Full-stack web\python developer

Значение с базы на каждой странице?

Доброго времени суток, господа.
Необходимо на каждую страницу проекта передавать значение с БД. Скажите, пожалуйста, возможно ли это сделать, не прописывая респонс этого значения в каждой вьюхе? Спасибо.
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
shultais
@shultais
Обучаю программированию на Python и SQL
Добрый день, да можно с помощью Context Processors

1. Создайте свой Context Processor, вроде
from games.models import Game

def most_popular_games(request):
    return { "MOST_POPULAR_GAMES": Game.objects.filter(active=True).order_by("-rating", "-id")[:5] }

2. Подключите его в settings.py
TEMPLATE_CONTEXT_PROCESSORS = (
   ...
    "download_games.context_processors.most_popular_games",
    ...
}

3. Пользуйтесь переменной в любом шаблоне, например
{% for game in MOST_POPULAR_GAMES %}
    ...
{% endfor %}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
Такое лучше делать через CBV и просто передавать в контекст переменную с данными

Контекст процессоры не совсем прозрачный способ для такого простого действия
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы