2015-07-10 1 views
10

डिफ़ॉल्ट व्यवहार नए उपयोगकर्ताओं प्रतीत हो रहा है कोई अनुमति और कोई समूह नहीं है। हालांकि मैं मैन्युअल रूप से हर एक नए उपयोगकर्ताओं बुनियादी अनुमतियां मिल करने के लिए नहीं चाहते हैं, और मुझे लगता है था कि वे चाहते हैं मुझे ऐसा करने के लिए के लिए प्रतीक्षा करने के लिए नहीं।देते डिफ़ॉल्ट अनुमतियों या नए उपयोगकर्ताओं के लिए एक डिफ़ॉल्ट समूह

कैसे मैं नए उपयोगकर्ताओं के लिए डिफ़ॉल्ट अनुमतियां निर्दिष्ट करना चाहिए?

कुछ इसी तरह के सवाल को कहा गया है लेकिन सामान्य स्थिति के लिए कोई स्पष्ट जवाब के साथ:

मैं python-social-auth उपयोग कर रहा हूँ तो मैं डॉन ' मेरे पास अपना खुद का निर्माण-उपयोगकर्ता फॉर्म नहीं है और देखें कि मुझे लगता है कि हर कोई डिफ़ॉल्ट अनुमतियां सेट करता है। मुझे लगता है कि मुझे कुछ प्रकार के उपयोगकर्ता-निर्माण हुक की आवश्यकता है लेकिन यह सुनिश्चित नहीं है कि सबसे साफ दृष्टिकोण क्या है।

यह, डिफ़ॉल्ट संभव अनुमतियों है कि उपयोगकर्ताओं को को दी जा सकती बनाने से संबंधित नहीं है, हालांकि संदर्भ के लिए

उत्तर

9

आप उपयोगकर्ता मॉडल पर post_save संकेत की सदस्यता ले सकते और नए बनाए गए उपयोगकर्ता को वांछित समूह में रखें या अनुमतियां जोड़ें।

from django.contrib.auth.models import User, Group 

def add_to_default_group(sender, **kwargs): 
    user = kwargs["instance"] 
    if kwargs["created"]: 
     group = Group.objects.get(name='groupname') 
     user.groups.add(group) 

और Django पर 1.8+ में अपने AppConfig.ready()

post_save.connect(add_to_default_group, sender=User) 
+3

धन्यवाद निम्नलिखित कोड डाला! मेरे मामले में मुझे लगता है कि मैं भी आवश्यकता होगी [ 'इस = settings.AUTH_USER_MODEL'] (https://docs.djangoproject.com/en/1.8/topics/auth/customizing/#referencing-the-user-model)। मैंने 'समूह, group_created = Group.objects.get_or_create (name =' default ') का भी उपयोग किया। – jozxyqk

+0

मैं Django के लिए नया हूँ, मैं इन पंक्तियों को जोड़ने के लिए फ़ाइल? – enchance

+0

'' apps.py'' फ़ाइल जिसमें ऊपर लाइनों (इसलिए '' AppConfig'') जाना है – polarise

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