2010-03-01 21 views
7

में इनलाइन फॉर्मेट हटाएं क्या Django स्वचालित रूप से उन प्रारूपों को हटा सकता है जो अनुरोध में मौजूद नहीं हैं?गतिशील रूप से Django

तो उदाहरण के लिए यदि मेरे पास एचटीएमएल में तीन इनलाइन फॉर्मेट्स थे, जब मैंने अपना संपादन पृष्ठ लोड किया था और मैं उन प्रक्रियाओं में से दो को हटाने के लिए जावास्क्रिप्ट का उपयोग करता हूं, जब अनुरोध प्रक्रिया होती है तो डैंजो देखता है कि उन दो रूपों में अब उनका नहीं है और उन्हें हटा दिया गया है।

उत्तर

8

हां, यह कुछ अलग तरीकों का उपयोग करना संभव है।

सबसे पहले Django व्यवस्थापक ऐप में किए गए तरीके की प्रतिलिपि बनाना है, जो कि "हटाएं" जैसा लेबल वाला चेकबॉक्स है। फिर, जब आप POST अनुरोध में फ़ॉर्मेट को बाद में संसाधित कर रहे हैं, तो आप यह देखने के लिए जांचें कि क्या चेकबॉक्स सही है और यदि ऐसा है, तो रिकॉर्ड हटाएं। यह शायद वह नहीं है जिसे आप ढूंढ रहे हैं, हालांकि आपने अपने प्रश्न शीर्षक में "गतिशील रूप से" शब्द का उपयोग किया है :)

तो एक दूसरी, गतिशील, विधि जावास्क्रिप्ट को हटाए गए रिकॉर्ड को "छिपाने" के लिए उपयोग करने के लिए होगी पेज और डिलीट चेकबॉक्स को सही पर सेट करें। फिर आप फॉर्मेट को उपरोक्त पहले विकल्प के समान तरीके से संसाधित करते हैं। फॉर्मेट को इस तरह से हटाने के लिए कोड के लिए django-dynamic-formset देखें।

तीसरा, गतिशील, तरीका अजाक्स का उपयोग करना होगा और जब डिलीट बटन क्लिक किया गया है तो जेएस रिकॉर्ड को हटाने और HTML से फ़ॉर्मेट को हटाने के लिए डिलीट व्यू को कॉल करता है। मैं आपको इसके लिए किसी भी उदाहरण कोड पर इंगित नहीं कर सकता, लेकिन मुझे लगता है कि ऊपर की दूसरी विधि वैसे भी बेहतर है क्योंकि आप अपने सभी प्रमाणीकरण और मानक फॉर्म सत्यापन कोड को एक ही स्थान पर रख सकते हैं।

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