Передайте одни и те же динамические данные (тип пользователя) всем запросам на рендеринг в django

#django #django-views #django-templates

Вопрос:

Я создаю свое первое веб-приложение с помощью django, и у меня есть пользовательская модель, в которой хранится тип пользователя каждого пользователя, и я хочу, чтобы параметры меню в моем html были настроены в зависимости от типа пользователя. Я реализую это с помощью тега шаблона if django, но для этого мне требуется, чтобы тип пользователя, запрашивающий страницу, передавался всякий раз, когда я вызываю функцию визуализации. Итак, существует ли какой-либо метод, с помощью которого эти данные автоматически отправляются на все запросы?

Ответ №1:

Вы можете получить доступ request к объекту в своем шаблоне, который содержит ссылку на текущего пользователя request.user . Используйте его в своем шаблоне:

 {% if request.user.type == <UserType1> %}
    # some logic
{% elif request.user.type == <UserType1> %}
    # etc.
{% endif %}
 

Комментарии:

1. Спасибо! Это было не то, что я искал (и я думаю, что мы не сможем этого сделать), но ваш метод помог мне реализовать эту функцию.