डीजेंगो-पंजीकरण आपको कस्टम सक्रियण आवश्यकताओं को संभालने के लिए custom backend लिखने की अनुमति देता है।
तो तुम क्या चाहते हैं क्या, अपने खुद के बैकएंड बनाने register
और activate
खुद को लागू है।
का तरीका यहां बताया register
समारोह को लागू कर सकता है की एक उदाहरण है:
def register(self, request, **kwargs):
username, email, password = kwargs['username'], kwargs['email'], kwargs['password1']
if Site._meta.installed:
site = Site.objects.get_current()
else:
site = RequestSite(request)
new_user = RegistrationProfile.objects.create_inactive_user(username, email,
password, site,
send_email=False)
# send an email to the admins with user information
send_new_user_notification(new_user) # you would write this function
signals.user_registered.send(sender=self.__class__,
user=new_user,
request=request)
return new_user
प्रमुख मुद्दा यकीन send_email
गलत पर सेट है बनाने के लिए है, जो उपयोगकर्ता को सक्रियण लिंक प्राप्त करने से रोक देगा। फिर आप यह तय कर सकते हैं कि व्यवस्थापक को भेजे गए ईमेल में एक सक्रियण लिंक है या यदि आप उनके साथ व्यवस्थापक हैं और केवल "सक्रिय" बॉक्स की जांच कर रहे हैं।
आप django.contrib.auth
से AuthenticationForm
का उपयोग करते हैं तो उसे अपने आप जिन उपयोगकर्ताओं की is_active
गलत है अस्वीकार कर देंगे, लेकिन यदि आप उपयोग नहीं कर रहे है कि तब किसी भी अनुरोध जहां एक सक्रिय उपयोगकर्ता के लिए आवश्यक है के लिए निम्नलिखित जांच चलाने के लिए सुनिश्चित करें:
def restricted_view(request):
if request.user and request.user.is_active:
#continue with the code
आप अपना स्वयं का सजावटी भी लिख सकते हैं (पॉइंटर्स के लिए @login_required
देखें)। ध्यान दें कि @login_required
is_active
के लिए जांचें।
स्रोत
2010-12-10 18:22:56