2011-09-12 15 views
8

मैं एक Django- आधारित समीक्षा वेबसाइट बना रहा हूं जहां सार्वजनिक उपयोगकर्ता साइट पर सभी सामग्री बनाते हैं। उपयोगकर्ता दिए गए आइटमों के लिए समीक्षा बनाते हैं और वे आइटम भी स्वयं बनाते हैं जिनकी समीक्षा की जाएगी (कुछ टैग के साथ आइटम का विवरण और संक्षिप्त सारांश प्रदान करना)।क्या मुझे Django की Admin सुविधा का उपयोग करना चाहिए?

मेरा प्रश्न यह है: क्या मुझे इस वेबसाइट के लिए Django की व्यवस्थापक सुविधाओं का उपयोग करना चाहिए (जैसे, सार्वजनिक उपयोगकर्ताओं को व्यवस्थापक नियंत्रण का खुलासा करना)? या मैं सिर्फ सामान्य रूपों के साथ रहना चाहिए? मैं Django के व्यवस्थापक पहलू से बहुत परिचित नहीं हूं, और अब तक मैं वेबसाइट के लिए फॉर्म का उपयोग कर रहा हूं, लेकिन मैंने देखा है कि बहुत से लोग Django की व्यवस्थापक सुविधाओं के बारे में बात कर रहे हैं, और मुझे आश्चर्य हो रहा है अगर मुझे उनका इस्तेमाल करना चाहिए।

किसी भी प्रतिक्रिया के लिए धन्यवाद!

उत्तर

8

शायद। यदि व्यवस्थापक कार्यक्षमता में से अधिकांश जो आप ऑफ़र करना चाहते हैं, उसमें कोई कारण नहीं है कि आपको इसे शुरुआती बिंदु के रूप में क्यों उपयोग नहीं करना चाहिए।

django.contrib.admin किसी अन्य की तरह एक एप्लिकेशन है, और मूल रूप से आपके मॉडल में एक सीआरयूडी इंटरफ़ेस प्रदान करता है। एक्सेस समूह/अनुमतियों के माध्यम से नियंत्रित किया जा सकता है, जैसे आप अपने द्वारा लिखे गए एप्लिकेशन के लिए करेंगे। आप एक लाइनर के साथ एक मॉडल तक पूर्ण पहुंच दे सकते हैं, लेकिन दूसरों को खोलते समय स्पष्ट रूप से कॉन्फ़िगर करना होगा।

भी देखें मेरे सवाल Django AdminSite/ModelAdmin for end users? और इसी तरह के सवाल Exposing django admin to users. Harmful? और How to make Django admin site accessed by non-staff user?

व्यवस्थापक के "इच्छित उपयोग" के बारे में तर्क के बारे में, जो पिछले साल के अंत में Django के सुरक्षा अद्यतन कृपया ध्यान दें: में http://www.djangoproject.com/weblog/2010/dec/22/security/ के बारे में क्वेरी स्ट्रिंग पैरामीटर ऑब्जेक्ट सूचियां इस तरह के एक अद्यतन (उद्धरण: "व्यवस्थापक के लिए एक हमलावर [...]") एक स्पष्ट संकेत है कि अनुमति प्रणाली के व्यवस्थापक के कार्यान्वयन की लगातार जांच की जा रही है।

+1

जानकारीपूर्ण लिंक के लिए है। धन्यवाद! –

3

मैं नियमित उपयोगकर्ताओं को व्यवस्थापक इंटरफ़ेस का पर्दाफाश नहीं करता। आप प्रमाणीकरण और उपयोगकर्ता-प्रबंधन पक्ष (अपने उद्देश्यों के लिए) का उपयोग कर सकते हैं, लेकिन आमतौर पर उपयोगकर्ताओं को अपनी वस्तुओं का प्रबंधन करने का एक अलग तरीका देने का सर्वोत्तम अभ्यास होता है। आप उपयोगकर्ताओं को गलत विशेषाधिकार देने का जोखिम भी नहीं चलाते हैं (या उन्हें स्वयं को देने की इजाजत देते हैं)।

दस्तावेज़ों को पढ़ें (https://docs.djangoproject.com/en/dev/ref/contrib/admin/) यदि आप एक बेहतर अवलोकन चाहते हैं कि यह क्या कर सकता है।

3

नहीं। Django व्यवस्थापक किसी भी अंतिम उपयोगकर्ता के लिए नहीं है।

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

अपने उद्देश्यों के लिए, आइटम बनाने में समीक्षा आइटम और वर्कफ़्लो आपके एप्लिकेशन सुविधा सेट का एक महत्वपूर्ण हिस्सा है। व्यवस्थापक आपको विचार देगा, लेकिन यह आपके आवेदन को बनाने का प्रयास करने की गलती होगी।

+1

Django व्यवस्थापक साइट प्रशासकों के लिए है। इसका उपयोग किसी भी सामान्य वेबसाइट बैकएंड की तरह किया जाना चाहिए, जहां साइट प्रशासक वेबसाइट जोड़ और मध्यम कर सकते हैं। कहीं भी प्रलेखन यह नहीं कहा गया है कि इसका मतलब केवल "वेब डेवलपर्स" – MortalViews

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