Python Deneyimlerimiz: Django Kullanıcı Profilleri
Django ile uygulama geliştirirken kullandığımız User modelinde username, first_name, last_name, email, password, is_staff, is_active, is_superuser, last_login, date_joined alanları bulunmakta. Çoğu proje için bu alanlar bize yetsede, ek alanlara büyük ölçüde ihtiyaç duyabiliyoruz. Böyle durumlarda yine User modeli içindeki get_profile() methodu işimizi kolaylaştırmaktadır.
Bu methodu kullanabilmek için öncelikle settings.py dosyamıza aşağıdaki eklemeyi yapmamız gerekmekte:
AUTH_PROFILE_MODULE = 'users.UserProfile'
users uygulama adı, UserProfile ise bu uygulama içinde tanımlanan bir veritabanı modeli adını belirtmektedir. Şimdi bu modelimizi yazalım ve ardından syncdb ile değişiklikleri veritabanımıza yansıtalım:
telefon = models.CharField(max_length=15)
Bu modeli kullanıcı kaydı sırasında aşağıdaki şekilde kullanabilir ve oluşan kullanıcı için bir profil oluşmasını sağlayabilirsiniz:
from projectname.users.models import UserProfile
user = User.objects.create_user(username,'',password)
profile = UserProfile(user=user,telefon=telefon)
Kullanıcı bilgilerinin düzenlenmesi işleminde ise aşağıda kod profildeki bilgilerin güncellenmesini sağlayacaktır:
profile.telefon = telefon