dauren101
@dauren101
Python, Django ,Vue.js

Django задать по умолчанию значение ключа сессии?

Когда сайт загружается я в методе home задаю ключ сессии по умолчанию. Но мне нужно задавать ее не только в методе home, а во всех методах. Как это сделать глобально? Чтобы не писать в каждом методе?
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
@deliro
Что-то вроде такого:
class SessionModeMiddleware(object):
    def process_request(self, request):
        if 'mode' not in request.session:
            request.session['mode']  = 'm'
            request.session.save()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
написать функцию и вызывать в каждом вью
Ответ написан
@khaletskiy
Web-Developer
Как вариант можно было бы расширить django.contrib.sessions.middleware.SessionMiddleware и заюзать вместо джанговской мидвари свой. Но выключать неудобно.

Можно написать свой и подключить, подобно ответу выше. И это ок в рамках джанго.

Если не хочется магии, пишем декоратор на вьюхи и уже там выставляем ключ.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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