اذهب إلى المحتوى
  • 0

كيفية تحديد رمز الحالة status code عند إرسال كائن JSON في جانغو Django؟

Mohssen A Mohssen

السؤال

قمت بعمل واجهة برمجة (API) بإستخدام جانغو Django وتقوم بإرجاع كائن JSON في حالة حدوث الخطأ ولكن المشكلة هي أن رمز الحالة status code هو 200، وبالتالي لا يعبر عن حدوث خطأ

هذا هو الكود الخاص بهذه الجزئية:

return JsonResponse({'status': 'error', 'message': msg})

كيف يمكنني تغير رمز الحالة status code إلى 500 على سبيل المثال؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

في الحالة العادية JsonResponse تقوم بإرجاع رمز الحالة 200، إذا أردنا إرجاع رمز حالة آخر مثلاً في حالة الخطأ يُمكننا تعيين قيمة status في JsonResponse:

return JsonResponse({'status':'false','message':message}, status=500)
                                                          ^^^^^^^^^^

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
from rest_framework import status
from rest_framework.response import Response

def empty_view(self):
    content = {'please move along': 'nothing to see here'}
    return Response(content, status=status.HTTP_404_NOT_FOUND)

يمكنك ارجاع ال status بالطريقة الموافقة لفوق ويمكنك استيراد status من rest_framwork و هو يحتوي كل الاكواد مثلا الاكواد المتعلقة ب 500

HTTP_500_INTERNAL_SERVER_ERROR
HTTP_501_NOT_IMPLEMENTED
HTTP_502_BAD_GATEWAY
HTTP_503_SERVICE_UNAVAILABLE
HTTP_504_GATEWAY_TIMEOUT
HTTP_505_HTTP_VERSION_NOT_SUPPORTED
HTTP_506_VARIANT_ALSO_NEGOTIATES
HTTP_507_INSUFFICIENT_STORAGE
HTTP_508_LOOP_DETECTED
HTTP_509_BANDWIDTH_LIMIT_EXCEEDED
HTTP_510_NOT_EXTENDED
HTTP_511_NETWORK_AUTHENTICATION_REQUIRED

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...