Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Mengembalikan Respons JSON dengan Berkesan dalam Django?

Bagaimanakah Saya Mengembalikan Respons JSON dengan Berkesan dalam Django?

Susan Sarandon
Lepaskan: 2024-11-26 06:49:13
asal
479 orang telah melayarinya

How Do I Return a JSON Response Effectively in Django?

Mencipta JSON Response menggunakan Django dan Python

Apabila cuba menukar skrip respons Ajax sebelah pelayan kepada Django HttpResponse, adalah penting untuk mempertimbangkan perbezaan dalam sintaks dan pendekatan. Berikut ialah pecahan isu yang berpotensi dan versi kod Django yang diperbetulkan:

Menggunakan Kamus Daripada Senarai untuk JSON:

Skrip Python asal mengembalikan tatasusunan menggunakan $arrayToJs. Walau bagaimanapun, dalam Python, adalah lebih idiomatik untuk menggunakan kamus semasa mencipta kandungan JSON.

# CORRECTED CODE
response_data = {'id': validateId, 'error': validateError}
Salin selepas log masuk

Mengembalikan Respons JSON:

Dalam Django, terdapat dua cara untuk mengembalikan respons JSON bergantung pada versi Django anda:

Untuk versi Django sebelum 1.7:

return HttpResponse(json.dumps(response_data), content_type="application/json")
Salin selepas log masuk

Untuk Django 1.7 dan ke atas:

import json

from django.http import JsonResponse

return JsonResponse(response_data)
Salin selepas log masuk

Pemprosesan Bersyarat:

Dalam kod asal, penyata pemprosesan dan pemulangan terletak di luar blok bersyarat, yang membawa kepada kelewatan berterusan dalam mengembalikan tindak balas. Kod yang diperbetulkan memastikan bahawa respons dikembalikan serta-merta selepas pengesahan:

if validate_value == "TestUser":
    response_data['status'] = True
    return JsonResponse(response_data)
else:
    response_data['status'] = False
    return JsonResponse(response_data)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Mengembalikan Respons JSON dengan Berkesan dalam Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan