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

  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013
  • TV nEW

    TV nEW

    25 AĞUSTOS 2012