Следующий запрос не содержит COOKIE со значением sessionid с использованием промежуточного программного обеспечения Django Session - PullRequest
0 голосов
/ 26 октября 2019

Я не уверен, почему я не вижу значение cookie sessionid в моем следующем запросе после создания нового сеанса.

В своем первом обращении к своему представлению я создал сеанс и ответил некоторыми данными и 200. Я вижу, как сеанс создается в моей таблице сеансов в моей БД.

@csrf_exempt
@api_view(['GET'])
def shuffle(request):
    if request.method == 'GET':
        request.session['selected'] = []
        request.session['words'] = []
        if not request.session.session_key:
            request.session.create()
        print(request.session.session_key)
        response = Response(data={'dice': 1}, status=status.HTTP_200_OK)
    else:
        response = Response(status=status.HTTP_405_METHOD_NOT_ALLOWED)
    return response

Я вижу этот session_key в своей консоли и вижу его также в своем файле cookie инструментов разработчика.

enter image description here

Однако, при моем следующем запросе к другому представлению я не вижу ничего в моем request.COOKIE, а также ничего в моем request.session.session_key

Это ВТОРОЙ звонок с моего интерфейса:

fetch('http://127.0.0.1:8000/game', {
  method: 'POST',
  credentials: 'include',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({'name': player.name, 'email': player.email})
})

просмотр:

@csrf_exempt
@api_view(['POST'])
def game(request):
    if request.method == 'POST':
        print(request.session.session_key)    # None  <---
        print(request.COOKIE)                 # {}  <---
        response = Response(status=status.HTTP_201_CREATED)
        return response
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...