Сессия автоматически доступна во всех представлениях. Вам не нужно, чтобы отправить его в строке запроса: идентификаторы
сессии в URL-
Рамки сессий Django полностью и исключительно, печенье на основе. Он не возвращается к помещению идентификаторов сеанса в URL-адресах в качестве последнего средства, , как это делает PHP. Это преднамеренное дизайнерское решение. Не только , что поведение делает URL-адреса уродливыми, это делает ваш сайт уязвимым для кражи сеансового идентификатора через заголовок «Referer».
Все, что вам нужно сделать, это убедиться, что сессия не истек:
def home(request):
foo = request.session.get('foo')
if not foo:
print('Oops! Session has expired. Do something')
else:
print('Session is still valid, value of foo is {}'.format(foo))
return render(request, 'index.html', {'foo': foo})
Есть прочитанный в documentation, сеансы в Джанго очень просто.