Как сессия django различает пользователей?
Ниже приведен мой код.
def sessfun(request) :
num_visits = request.session.get('num_visits', 0) + 1
request.session['num_visits'] = num_visits
if num_visits > 4 : del(request.session['num_visits'])
resp = HttpResponse('view count='+str(num_visits))
return resp
В коде используется request.session. Он работает хорошо. Когда я захожу в chrome и Firefox, создается другая сессия.
Но мой вопрос в том, что сессия сохраняется на сервере, но как запрос может получить сессию?
А как сессия различает пользователя без идентификатора сессии или чего-то подобного...
По умолчанию django включает идентификатор в сессионный куки. Он отправляется вместе с каждым запросом. Основываясь на этом идентификаторе, django затем извлекает соответствующего пользователя из базы данных.