Legalas61
@Legalas61
Студент

Можно ли сделать временную переменную для сессии Django?

Изобретаю велосипед, а именно парсинг погоды. Во view.py при заходе на главную страницу делаю парсинг xml и вывод на клиент.
Хочется после первого парсинга закинуть переменную во request.session и хранить до закрытия страницы. Читал как сделать "срок годности" для сессии, но всю сессию мне убивать не нужно, а только переменную session['weather'].

Код
request.session.set_test_cookie()
    if request.session.test_cookie_worked():
        request.session.delete_test_cookie()
        request.session['weather'] = weather
        if request.session['weather']:
            print('Уже есть погода')
    else:
        request.session['weather'] = 'Нормальный'
  • Вопрос задан
  • 274 просмотра
Пригласить эксперта
Ответы на вопрос 1
@gh0sty
Веб-разработчик. Пишу под Python Django.
Встроенного варианта нет, только для всей сессии.

Решение:
Просто закинь в request.session['weather_expires'] = (DateTime Object). Тип запиши когда он истекает (timezone.now() + timedelta(1) # 1 день), и лезь в middleware. Просто установи свой middleware класс, закинь дефолтный код из документации и если timezone.now > weather_expires - удаляй оба ключа.

Не сцы, эт ez.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы