पायथन फ्लास्क इरादे खाली प्रतिक्रिया


98

क्या make_response()कुछ गुणों के साथ प्रतिक्रिया ( ऑब्जेक्ट या समान से) वापस करने का एक तरीका है ताकि वह पृष्ठ को फिर से प्रस्तुत न करे और कुछ भी न करे। मैं किसी भी आउटपुट को उत्पन्न किए बिना सर्वर पर एक कोड चलाने की कोशिश कर रहा हूं

एक साधारण 'रिटर्न कोई नहीं' उत्पन्न करता है:

ValueError: View function did not return a response

यह संभव होना चाहिए क्योंकि निम्नलिखित केवल एक फ़ाइल डाउनलोड करता है और टेम्पलेट को प्रस्तुत नहीं करता है:

myString = "First line of a document"
response = make_response(myString)
response.headers["Content-Disposition"] = "attachment; filename=myFile.txt"
return response

जवाबों:


170

आप एक अनुरोध का जवाब दे रहे हैं, आपके HTTP सर्वर को कुछ वापस करना होगा । HTTP 'खाली प्रतिक्रिया' प्रतिक्रिया है 204 No Content:

return ('', 204)

ध्यान दें कि ब्राउज़र के लिए एक फ़ाइल लौटने है नहीं एक खाली प्रतिक्रिया, एक HTML उत्तर से सिर्फ अलग।


13
Ftr: आप httplib.NO_CONTENTजादू नंबर से बचने के लिए उपयोग कर सकते हैं ।
दिनांक

11
नोट पायथन 2 के बराबर httplib.NO_CONTENTपायथन 3 में है http.HTTPStatus.NO_CONTENT
bfontaine

2
@bfontaine: याhttp.client.NO_CONTENT
मार्टिन पीटर्स

2
@ बफोंटेन: httpपैकेज डॉक्स के नीचे ; इन का इस्तेमाल किया जब तक सामान्य स्थान होने के लिए HTTPStatusenum पेश किया गया था, को देखने के github.com/python/cpython/commit/...
मार्टिन पीटर्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.