Django-rest-framework: request.POST عبارة عن استعلام فارغ عند نشر البيانات باستخدام واجهة برمجة تطبيقات قابلة للتصفح ، عند نشرها مع hhtpie .. غرامة

تم إنشاؤها على ١١ أبريل ٢٠١٦  ·  4تعليقات  ·  مصدر: encode/django-rest-framework

قائمة تدقيق

  • [x] لقد تحققت من وجود هذه المشكلة مقابل فرع master من إطار عمل Django REST.
  • [x] لقد بحثت عن مشكلات مماثلة في كل من التذاكر المفتوحة والمغلقة ولا يمكنني العثور على نسخة مكررة.
  • [x] هذا ليس سؤال استخدام. (يجب توجيه هؤلاء إلى مجموعة المناقشة بدلاً من ذلك).
  • [x] لا يمكن التعامل مع هذا كمكتبة طرف ثالث. (نفضل أن تكون الوظائف الجديدة في شكل مكتبات تابعة لجهات خارجية حيثما أمكن ذلك.)
  • [x] لقد اختزلت المشكلة إلى أبسط حالة ممكنة.
  • [x] لقد قمت بتضمين اختبار فاشل كطلب سحب. (إذا لم تتمكن من القيام بذلك ، فلا يزال بإمكاننا قبول المشكلة.)

    خطوات التكاثر

الخطوة 1 . عند نشر البيانات على apiview ، قم بطباعة استعلام POST.

api_view (['GET'، 'POST'])
def snippet_list (request):
إذا كان request.method == 'POST':
من طباعة بصمة الاستيراد كما ص
ص (طلب البيانات)
ص (طلب البريد)
المتسلسل = SnippetSerializer (البيانات = request.data)
إذا كان serializer.is_valid ():
serializer.save ()
عودة الاستجابة (serializer.data، status = status.HTTP_201_CREATED)
عودة الاستجابة (serializer.errors، status = status.HTTP_400_BAD_REQUEST)

الخطوة 2 . انشر '{"code": "print 123"}' من واجهة برمجة التطبيقات القابلة للتصفح إلى snippet_list apiview.

سلوك متوقع

نتيجة كلا الطباعة: {u'code': u'print 12dgdf3'}
<QueryDict: {}>

السلوك الفعلي

نتيجة كلا الطباعة: {u'code': u'print 12dgdf3'}
{u'code': u'print 12dgdf3'}

التعليق الأكثر فائدة

mybad .. فقط نموذج البيانات متاح عند الطلب

صحيح. استخدم request.data .

ال 4 كومينتر

mybad .. فقط بيانات النموذج متاحة عند الطلب. بعد ذلك ، افترضت أن أي بيانات يتم إرسالها باستخدام Http POST ستكون في الطلب. إغلاق هذه القضية ، tnx

mybad .. فقط نموذج البيانات متاح عند الطلب

صحيح. استخدم request.data .

إذا كان شخص ما مهتمًا بمكان العثور على الإجابة الرسمية:

https://www.django-rest-framework.org/tutorial/2-requests-and-responses/#request -objects

ما زلت لا أفهم لماذا فارغ POST . :(
أي تعليمي أو رابط؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات