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

  • DONFANTASTICKYPESS

    DONFANTASTIC

    1 Temmuz 2007
  • friendz.net

    friendz.net

    29 EKİM 2010
  • UlyssesForever's channel

    UlyssesForev

    28 ŞUBAT 2012