Я хотел бы знать, есть ли лучшее решение для этого.
На веб-сайте, который я создаю, есть несколько форм, которые нуждаются в информации о странице, которую пользователь начал в своем дневнике. Прямо сейчас я сохраняю HTTP_REFERER в сеансе и использую его позже.
Недостатком является необходимость set_expiry (0), который очищает сеанс при закрытии браузера. Мне нравится поведение, при котором пользователям не нужно входить в систему каждый раз, когда они закрывают браузер.
Я написал небольшой класс промежуточного программного обеспечения, который выглядит следующим образом:
class RefererMiddleware(object):
def process_response(self, request, response):
try:
if not request.session.get('http_landingpage'):
request.session['http_landingpage'] = request.META.get('HTTP_REFERER')
request.session.set_expiry(0)
except Exception:
pass
return response
Есть предложения по улучшению? Другие решения?