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

  • Flohoo

    Flohoo

    12 EYLÜL 2009
  • Perihelion

    Perihelion

    23 NİSAN 2008
  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008