2011-10-26 15 views
20

क्या किसी ने django-social-auth, django-registration और django-profiles एक साथ उपयोग किया है। क्या वे एक साथ अच्छी तरह से काम करते हैं? मैंने सोशल-ऑथ स्थापित किया है लेकिन मैंने कहीं पढ़ा है कि django-allauth बेहतर है। क्या मुझे उस पर स्विच करना चाहिए?django-social-auth django-पंजीकरण और django-profiles - एक साथ

कृपया सलाह

अद्यतन:

मैं अपने प्रोजेक्ट में allauth का इस्तेमाल किया है और यह ठीक काम कर रहा है। आपको django-registration को allauth के साथ उपयोग करने की आवश्यकता नहीं है क्योंकि यह भीतर एकीकृत है। हालांकि मैं कस्टम उपयोगकर्ता प्रोफाइल का उपयोग कर रहा हूं और यह django-profiles से बेहतर विकल्प है।

उत्तर

34

वे एक साथ ठीक काम करते हैं - मैंने बस इसे दूसरे दिन सेट किया है (सिवाय इसके कि मुझे django-profiles का उपयोग करने की आवश्यकता नहीं है क्योंकि यह स्वयं को बनाना आसान है)।

  • कोई उपयोगकर्ता डीजेंगो-पंजीकरण का उपयोग करके एक सामान्य खाता (contrib.auth) सेट कर सकता है जो पुष्टि करने के लिए एक ईमेल भेजता है - डीबी में उपयोगकर्ता नाम/ईमेल/पासवर्ड बनाना।
  • वैकल्पिक रूप से वे सीधे ट्विटर/फेसबुक/google आदि के साथ साइन इन कर सकते हैं और एक contrib.auth उपयोगकर्ता स्वचालित रूप से एक डमी पासवर्ड (और संभावित रूप से कोई ईमेल नहीं) के साथ बनाया गया है।

कुछ बिंदुओं और सीमाएं:

  • जब आप एक सामाजिक मीडिया प्रोफाइल के साथ साइन इन करें, एक contrib.auth.user स्वचालित रूप से बनाया जाता है। यदि वह उपयोगकर्ता नाम पहले से मौजूद है, तो यूयूआईडी संलग्न है - यह बदसूरत है और django-social-auth इस समस्या से निपटने के लिए प्रतीत नहीं होता है - एक आसान समाधान है कि उपयोगकर्ता साइन अप करने के बाद उपयोगकर्ता को अपना उपयोगकर्ता नाम बदलने दें। आदर्श रूप में, जब आप ट्विटर के साथ साइन इन करते हैं तो आपको डीबी में सहेजे जाने से पहले अपने विवरण को परिशोधित करने का मौका दिया जाता है (0 के बाद)
  • इसी प्रकार, एक डमी पासवर्ड सेट किया जाता है - इससे उपयोगकर्ता को रीसेट करने की अनुमति मिलती है डीजेंगो पासवर्ड चेंज-फॉर्म में निर्मित पासवर्ड का उपयोग करते हुए वे अपने मौजूदा पासवर्ड को दर्ज नहीं कर पाएंगे (क्योंकि यह एक असहनीय स्ट्रिंग के रूप में सेट है)
  • आपको यह विचार करने की आवश्यकता है कि ट्विटर के साथ साइन अप करने वाला उपयोगकर्ता बाद में सहयोग करना चाहता है उनके फेसबुक अकाउंट - डीजेंगो-सोशल-ऑथ इस के लिए खाते हैं और एक खाते के साथ कई तृतीय पक्ष साइन इन को असीमित करना आसान है
  • ट्विटर उपयोगकर्ता के ईमेल पते का खुलासा नहीं करता है ताकि आप उन्हें provi से संकेत दे सकें यह आपके लिए है और इसे डेटाबेस में सहेजता है - इसके साथ समस्या यह है कि आपको इसे सत्यापित करने की आवश्यकता होगी जो सामाजिक-औथ का उपयोग करने के पूरे उद्देश्य को अस्वीकार करता है!

Django-सामाजिक लेखन के लिए एक महान परियोजना है और सक्रिय रूप से convoreGoogle Group हमेशा अप टू डेट है कि तो मैं निश्चित रूप से यह सुझाव है पर एक समूह के साथ विकसित किया जा रहा है।यह भी स्थापित करने के लिए बहुत आसान है - बस सुनिश्चित करें कि आप अपनी प्रवेश प्रवाह बाहर इस्त्री किया है हो सकता है, और आप इस

संपादित करें का उपयोग करने का संभावित सीमाओं के बारे में पता:

इस पोस्ट में एक छोटे से पुराना

है
  • Django-सामाजिक लेखन बन गया है python-social-auth
  • Django-allauth : ओपी ने django-allauth का उल्लेख किया जो हाल ही में लोकप्रिय हो गया है। मैंने इसका उपयोग नहीं किया है, लेकिन यह प्रमाणीकरण, पंजीकरण और प्रोफाइल के लिए एक महान ड्रॉप-इन प्रतिस्थापन प्रतीत होता है।
  • विन्यास उपयोगकर्ता मॉडल: Django 1.5 auth मॉड्यूल में एक configuratble User models पेश किया इसलिए अब आप संपादित कर सकते हैं क्या-प्रांगण आप अपने उपयोगकर्ता के लिए (केवल ईमेल, कोई उपयोगकर्ता नाम आदि) का उपयोग करना चाहते हैं। (जैसे आप Django-प्रोफाइल या एक कस्टम प्रोफ़ाइल मॉडल के साथ एक OneToOne संबंध के साथ होता है) यह भी उपयोगी है यदि आप किसी अन्य तालिका के साथ शामिल होने के लिए बिना अपने उपयोगकर्ता के लिए प्रोफ़ाइल की तरह जानकारी जोड़ना चाहते हैं
+0

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

+2

के लिए निराश हो जाएं, दूसरी बात यह है कि पासवर्ड समस्या के बारे में कुछ भी किया जा सकता है? और क्या आपने कहा कि हम एक ही खाते में कई सोशल लॉग इन जोड़ सकते हैं या नहीं? इसके अलावा, क्योंकि मैं Django के लिए नया हूं, मुझे टेम्पलेट्स के साथ कुछ परेशानी हो रही है, क्या आप मुझे टेम्पलेट्स बनाने के तरीके पर कुछ अच्छे ट्यूटोरियल के लिए मार्गदर्शन कर सकते हैं। या सोशल लॉगिन और देशी पंजीकरण दोनों के साथ एक अच्छा लॉगिन फॉर्म क्या होना चाहिए .... भी एक टन – Sachin

+0

धन्यवाद। सामाजिक-लेखक के लेखक ने एक उदाहरण पृष्ठ बनाया है जिसे आप लॉगिन कर सकते हैं और यहां कई सेवाओं को जोड़ सकते हैं: http: //social.matiasaguirre.net/। मैंने अभी तक पासवर्ड समस्या नहीं देखी है, लेकिन मुझे यकीन है कि डिफ़ॉल्ट django change_password फ़ॉर्म के विपरीत कस्टम दृश्यों का उपयोग करके इसे आसानी से ठीक किया जा सकता है। यदि आप मुझे अपनी प्रोफ़ाइल में सूचीबद्ध ईमेल के माध्यम से एक ईमेल भेजते हैं, तो मैं आपको एक ही परियोजना से अपने टेम्पलेट्स पर भेजूंगा –

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

  • कोई संबंधित समस्या नहीं^_^