2015-10-15 8 views
11

मैं जब तक मैं आधिकारिक दस्तावेज में निम्नलिखित में आए बारे में django-guardian उपयोग करने के लिए किया गया था:आजकल Django में प्रति ऑब्जेक्ट अनुमति को कैसे संभालें?

https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#handling-authorization-in-custom-backends

अनुमतियां न केवल वस्तु के प्रकार के अनुसार, लेकिन यह भी विशिष्ट वस्तु उदाहरण के आधार पर तय किया जा सकता है। ModelAdmin वर्ग द्वारा प्रदान की गई has_add_permission(), has_change_permission() और has_delete_permission() विधियों का उपयोग करके, उसी प्रकार के विभिन्न ऑब्जेक्ट उदाहरणों के लिए अनुमतियों को कस्टमाइज़ करना संभव है।

क्या इसका मतलब है कि डैंजो-गार्डियन को अब Django के नए संस्करणों के साथ जरूरी नहीं है?

कृपया स्पष्ट करें।

+2

वे विधियां नई नहीं हैं। और ध्यान दें कि वे केवल व्यवस्थापक पर लागू होते हैं। –

+0

संबंधित: https://stackoverflow.com/a/33247890/2586761 – ptim

उत्तर

13

वास्तव में, दस्तावेज़ों को पढ़ने के दौरान, मुझे उत्साहित हो गया कि Django बॉक्स, especially in the admin से बाहर "प्रति ऑब्जेक्ट अनुमतियों की जांच" की पूर्ति करेगा, और यह समझने का समय होगा कि मैं इसे कैसे सक्रिय कर सकता हूं।

हालांकि, this does not seem to always be the case

Django undoubtedly strives इस तरह के कार्यान्वयन के लिए आधार (एपीआई) प्रदान करने के लिए, लेकिन इस कार्यान्वयन को कभी-कभी अच्छे कोडिंग कौशल और Django समझ की आवश्यकता होती है।

यह डेवलपर है जो इन उपकरणों को creating the app द्वारा एक साथ प्राप्त करेगा जो इसकी आवश्यकताओं के अनुरूप है। यह या तो आसान हो सकता है या ... इतना आसान नहीं है!

यह विरोधाभासी जानकारी मेरे वेब क्रॉलिंग के लिए आधार बनाती है जो "प्रति-ऑब्जेक्ट अनुमतियों" समस्या का हल ढूंढने पर केंद्रित है, किसी भी तरह ... प्रभावी रूप से मेरे प्रोजेक्ट की ज़रूरतों या पैमाने के लिए और निश्चित रूप से मेरे स्वयं के कोडिंग कौशल और Django अब तक समझना

Django-guardian इस उद्देश्य के लिए सबसे मजबूत, पूर्ण, पूर्ण उड़ा हुआ एप्लिकेशन प्रतीत होता है।

अन्य more lightweight django applications भी हैं जो विशिष्ट आवश्यकताओं को संबोधित करते हैं जो उत्पादन-स्थिर भी हैं।

इस तरह से किसी भी तरह की मुश्किल खोज में समाप्त होने की कोशिश करते समय, मैं django-rules का उपयोग करके अपनी सरलताओं पर ध्यान केंद्रित करने और अपनी आवश्यकताओं पर ध्यान केंद्रित करने के लिए झुका रहा हूं।

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