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

  • Erica Griffin

    Erica Griffi

    8 HAZİRAN 2009
  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • USI Events

    USI Events

    6 AĞUSTOS 2013