Авторизация в react с бэкендом django rest api
Я пытался сделать приложение, в котором пользователи могли бы приходить и создавать комнаты, а их друзья могли бы присоединяться к комнате. Я использую Django rest_framework в качестве бэкенда и react в качестве фронтенда. Для создания комнаты, логика, которую я пытался реализовать, заключалась в том, что если пользователь уже создал комнату и каким-то образом нажимает на кнопку создать комнату, старая комната будет возвращена вместо создания новой комнаты (я пытался сохранить идентификатор сессии, который затем Django использует для получения комнаты, если она доступна. Запрос выполняется axios в app.js. Но каждый раз, когда пользователь нажимает Create Room, идентификатор сессии обновляется, создавая новую комнату.
Это часть проводки в App.js
createRoom = () => {
axios.post('http://localhost:8000/api/createroom', { withCredentials: true, })
.then(res => {
const data = res.data;
console.log(data);
})
.catch(err => {
console.log(err);
})
}
Django представление для обработки запроса post
class CreateRoomView(APIView):
def post(self, request, format=None):
if not self.request.session.exists(self.request.session.session_key):
self.request.session.create()
host = self.request.session.session_key
queryset = Room.objects.filter(host=host)
if queryset.exists():
room = queryset.first()
else:
room = Room(host=host)
room.save()
return Response(RoomSerializer(room).data, status=status.HTTP_201_CREATED)
Моя логика, похоже, работает в postman, но не в react. Может ли кто-нибудь объяснить, что я делаю не так?