SORU
4 EYLÜL 2008, PERŞEMBE


Django özel alanları ile uzanan Kullanıcı modeli

Özel alanlar ile Kullanıcı modeli (Django kimlik doğrulama uygulaması ile birlikte) genişletmek için en iyi yolu nedir? Ayrıca muhtemelen kullanıcı adı (kimlik doğrulama amaçlı olarak e-posta kullanmak istiyorum.

Zatenfew ways bir bunu gördüm ama hangisinin en iyi olduğunu karar veremiyorum.

CEVAP
8 HAZİRAN 2009, PAZARTESİ


Ben böyle severim.

#in models.py
from django.contrib.auth.models import User
from django.db.models.signals import post_save

class UserProfile(models.Model):  
    user = models.OneToOneField(User)  
    #other fields here

    def __str__(self):  
          return "%s's profile" % self.user  

def create_user_profile(sender, instance, created, **kwargs):  
    if created:  
       profile, created = UserProfile.objects.get_or_create(user=instance)  

post_save.connect(create_user_profile, sender=User) 

#in settings.py
AUTH_PROFILE_MODULE = 'YOURAPP.UserProfile'

Bu her zaman bir kullanıcı oluşturulursa kaydedilmiş bir profili oluşturur. Sonra da kullanabilirsiniz

  user.get_profile().whatever

İşte docs dan biraz daha fazla bilgi

http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users

Güncelleme:Lütfen AUTH_PROFILE_MODULE v1 beri önerilmiyor unutmayın.5: https://docs.djangoproject.com/en/1.5/ref/settings/#auth-profile-module

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jason Parker

    Jason Parker

    14 Aralık 2009
  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • The Verge

    The Verge

    8 AĞUSTOS 2006