Cookies не устанавливаются, даже если один код работает, а другой нет [дубликат].
Я продолжу здесь свой старый пост, у меня есть небольшая проблема, у меня есть 2 разные функции и затем я могу поделиться ими, но в моем коде происходит то, что одна из этих строк кода работает, а другая нет, и я действительно хотел знать почему, потому что я хотел вставить uuid в cookies, но он не сделал, просто другой способ, вот он идет:
что-то вроде: этот работает:
response.set_cookie('user_uuid', str(face_recognition.uuid))
но этот нет response.set_cookie('user_uuid', str(cookie_uuid))
Почему? Без понятия, у них одно и то же значение и одно и то же имя, один вставляется, а другой нет
код, который не работает
def unique_identifier(request):
print("unique identifier function called...")
response = HttpResponse("Cookie Set")
cookie_uuid = uuid.uuid4() # Create a UUID
response.set_cookie('user_uuid', str(cookie_uuid))
print("UUID defined in the user's cookies:", cookie_uuid)
return response
debug:
No UUID found in user cookies
created a new UUID.
unique identifier function called...
UUID defined in user cookies: 5abb1b89-1ded-4fec-849d-567a9fb12d92
<django.contrib.sessions.backends.signed_cookies.SessionStore object at 0x000001A860C7BA50>
Session key: None
[22/May/2024 12:35:02] "GET / HTTP/1.1" 200 2373
код, который работает
@csrf_exempt
def process_frame(request):
print("Processando frame...")
if request.method == 'POST':
frame_data = request.POST.get('frame_data')
frame_data = frame_data.split(',')[1] # Remover o prefixo 'data:image/png;base64,'
frame_data = base64.b64decode(frame_data)
frame_data = np.frombuffer(frame_data, dtype=np.uint8)
frame = cv2.imdecode(frame_data, flags=1)
cv2.imwrite('frames/CurrentFrame.jpg', frame)
# Agora você pode passar o frame para a função compare_faces()
result = compare_faces(request, frame)
print("result:", result)
if result == None:
response = JsonResponse({'error': 'Utilizador não encontrado crie um rosto'}, status=400)
elif isinstance(result, HttpResponseRedirect):
response = JsonResponse({'message': 'redirecionamento', 'url': result.url})
else:
response = JsonResponse({'message': result})
# Se um UUID foi gerado, defina-o no cookie da resposta
face_recognition = FaceRecognition(request)
if face_recognition.uuid is not None:
print("UUID gerado no processar frame:", face_recognition.uuid)
response.set_cookie('user_uuid', str(face_recognition.uuid))
print("Cookies definidos na resposta user_uuid:", response.cookies)
print("response:", response)
return response
else:
return JsonResponse({'message': 'Método não permitido'}, status=405)
debug
UUID gerado no processar frame: 9cfabec5-7409-421d-8e6b-f33f24eef7a5
Cookies definidos na resposta user_uuid: Set-Cookie: user_uuid=9cfabec5-7409-421d-8e6b-f33f24eef7a5; Path=/
Код, в котором вызывается функция
def index(request): #Função para renderizar a página inicial
unique_identifier(request)
print(request.session)
print("Chave da sessão:", request.session.session_key)
for chave, valor in request.session.items():
print(f"Chave: {chave}, Valor: {valor}")
return render(request, 'index.html')