2011-12-19 14 views
13

हाल ही में मैंने जेनेरिक व्यूज़ में कुछ व्यू फ़ंक्शंस को परिवर्तित करना शुरू कर दिया है। POST अनुरोध (AJAX फ़ॉर्म के माध्यम से) को संभालने के लिए अपेक्षित फ़ंक्शन को कनवर्ट करने के परिणामस्वरूप "405 विधि अनुमति नहीं है" HTTP अपवाद। मुझे यकीन है कि सीएसआरएफ के बारे में नहीं है: अजाक्स वैध टोकन भेजता है, जेनेरिक व्यू को फ़ंक्शन देखने के लिए बदलता है (परीक्षण मामले में, वे अनिवार्य रूप से वही होते हैं) समस्या को हल करता है, और - आखिरकार - परीक्षण उद्देश्यों के लिए, मैंने सीएसआरएफ मिडलवेयर अक्षम कर दिया है। क्या किसी ने भी इसी तरह की समस्याओं का अनुभव किया?django: जेनेरिक क्लास व्यू + POST = HTTP 405 (विधि की अनुमति नहीं है)

उत्तर

17

मुझे लगता है कि आप कक्षा-आधारित विचारों का उपयोग कर रहे हैं। यदि ऐसा है तो आपको अपने दृश्य में post विधि को परिभाषित करने की आवश्यकता है या मिश्रण का उपयोग करें जो इसे करता है (उदाहरण के लिए django.views.generic.edit.ProcessFormView)। यदि आप पूरी तरह से समझना चाहते हैं कि यह क्यों जरूरी है तो dispatchdjango.views.generic.base.View की विधि देखें।

+0

धन्यवाद, प्रेषण विधि सबकुछ बताती है! – migajek

+1

मैंने अंत में स्लैश के साथ अपना यूआरएल समाप्त नहीं किया। वह मेरा मुद्दा था। – Antony

संबंधित मुद्दे