2011-10-26 22 views
20

django-social-auth, django-registration ve birlikte kullanmışlardır. Birlikte iyi çalışırlar mı? Sosyal-outh'u kurdum ama django-allauth'un daha iyi olduğu bir yer okudum. Buna geçmeli miyim?django-social-auth django-kaydı ve django-profiles - birlikte

bildiriniz

Güncelleme:

Projemde allauth kullanmış ve iyi çalışıyor. django-registration'u allauth ile kullanmanıza gerek yoktur çünkü bu, içine entegre edilmiştir. Ancak, özel kullanıcı profilleri kullanıyorum ve bu django-profiles'dan daha iyi bir seçenek.

cevap

34

Birlikte iyi çalışıyorlar - Bunu diğer güne ayarladım (django profillerini kendi başınıza oluşturmak kadar kolay kullanmamam gerekmedi). DB bir kullanıcı adı/e-posta/şifre oluşturma -

  • Bir kullanıcı teyit edilmesi bir e-posta gönderir django-kayıt kullanarak normal bir hesap (contrib.auth) ayarlayabilirsiniz.
  • Alternatif olarak twitter/facebook/google vb. Ile hemen oturum açabilirler ve kendileri için bir parodi parola (ve muhtemelen e-posta içermeyen) ile otomatik olarak bir contrib.auth kullanıcısı oluşturulur.

bazı noktalar ve sınırlamalar: Bir sosyal medya profili ile oturum açtığınızda

  • , bir contrib.auth.user otomatik olarak oluşturulur. Bu kullanıcı adı zaten varsa, bir UUID eklenir - bu çirkin ve django-social-auth henüz bu sorunla başa çıkmıyor gibi görünüyor - kolay bir çözüm, kullanıcı kayıt olduktan sonra kullanıcı adlarını değiştirebilir. İdeal olarak, twitter ile oturum açtığınızda, DB'ye kaydedilmeden önce ayrıntılarınızı düzeltme şansı verilir (0 yerine)
  • Benzer şekilde, sahte bir şifre ayarlanmıştır - bu kullanıcının sıfırlanmasına izin vermeyi zorlaştırır Varolan şifrelerini giremeyecekleri django parola değişim formunu kullanarak parola (habersiz bir dize olarak ayarlandığı gibi)
  • Twitter'a üye olan bir kullanıcı daha sonra ilişkilendirmek istediğinde onların facebook hesabı - django-sosyal-auth hesapları bunun için ve tek bir hesap ile birden fazla 3. parti işareti ins olSpy kolay kolay
  • Twitter bir kullanıcı e-posta adresi açıklamıyor Bunu size ve veritabanına kaydedin - bununla ilgili sorun, sosyal-outh'u kullanmanın bütün amacını geçersiz kılan şeyi doğrulamanız gerektiğidir!

django-sosyal-auth büyük projedir ve aktif ben kesinlikle öneririm böylece her zaman güncel olan convoreGoogle Group üzerinde grupla geliştiriliyor.O kurmak da çok kolaydır - sadece giriş akışını gidermesinden emin olun ve bu

EDIT kullanmanın potansiyel sınırlamaları biliyoruz:

Bu mesaj biraz modası geçmiş

olduğunu
  • django-sosyal-auth haline gelmiştir python-social-auth
  • django-allauth : OP, son zamanlarda popüler olan django-allauth'dan bahsetti. Bunu kullanmadım ama kimlik doğrulama, kayıt ve profiller için büyük bir yer değiştirmiş gibi görünüyor.
  • yapılandırılabilir Kullanıcı Modelleri: Artık size kullanıcı için (e-posta, sadece herhangi bir kullanıcı adı vs.) faydalanmak istediğiniz alanları düzenleyebilmek için Django 1.5 auth modülünde bir configuratble User models tanıtıldı. Başka bir tabloyla katılmak zorunda kalmadan kullanıcıya profil benzeri bilgileri eklemek istiyorsanız bu da yararlıdır
+0

teşekkürler (eğer django-profillerin ya da özel bir profil modeli ile bir OneToOne ilişkiyle şekilde) Kapsamlı yanıt için çok. Aslına bakarsanız, kullanıcının e-posta kimliğini daha sonra zamanında isteyeceğim, ancak ilk kez kullanıcının anında gitmesini istiyorum. Daha sonra e-postalarını gerektiren özelliklere erişecekleri zaman, onlara her zaman bir tane sorabilirim. Ayrıca profillerini oluşturduklarında, e-postayı dolduracaklardır. İlk defa onlar için vazgeçilmelerini istemiyorum – Sachin

+2

İkinci olarak şifre sorunuyla ilgili yapılabilecek bir şey var mı? Birden fazla sosyal girişimi aynı hesaba bağlayabileceğimizi mi söyledin? Ayrıca, Django'ya yeni olduğum için, şablonlarla bazı sıkıntılarım var, şablonları nasıl hazırlayacağımı öğretmek için bana rehberlik edebilir misiniz? Ya da sosyal oturum açma ve yerel kayıt ile iyi bir giriş formu ne gibi olmalıdır .... Ayrıca bir teşekkür – Sachin

+0

sosyal-auth yazarı burada giriş ve burada birden fazla hizmet ile ilişkilendirebilirsiniz bir örnek sayfa oluşturdu: http: //social.matiasaguirre.net/. Şifre sorununu henüz incelemedim, ancak varsayılan django change_password formunun tersine özel görünümler kullanarak kolayca düzeltilebileceğine eminim. Benim profilimde listelenen e-posta yoluyla bana bir e-posta gönderirseniz, benzer bir projeden şablonlarımı size gönderirim –

İlgili konular