Django AbstractUser ile Genişletme


User Modelini Genişletme

Merhabalar, OneToOneField ile user modelini genişlettik. Fakat AbstractUser kullanarak genişletmek daha akıllıca bir hareket olacaktır.

Yeni bir proje başlatıyorsanız, varsayılan Kullanıcı Modeli sizin için yeterli olsa bile özel bir kullanıcı modeline bir şekilde ihtiyaç duyacaksınız. AbstractUser model, varsayılan kullanıcı modeliyle aynı şekilde davranıyor, ancak ihtiyaç ortaya çıkarsa kullanmanız yeterlidir.

  • Model.py giriş yapalım.

User adında bir oluşturduk. User modelini default olarak django’nun algılaması için settings.py’e AUTH_USER_MODEL” değişkeni ile belirtmemiz gerekiyor.

  • Settings.py giriş yapalım.

Admin panele girdiğimizde “kullanıcılar” bölümü silinmiş olacaktır. Yeni user modelini, admin panele ekliyelim.

  • admin.py giriş yapalım.

fieldsets üzerinden yeni alanlar, list_display üzerinden yeni göküzücek alanlar ekleyebiliriz.

Ek olarak;

Örneğin, yeni eklediğiniz alanların aranma yaparkende çıkmasını istiyorsanız, list_display altına şöyle ekleyin.

Son olarak, veritabanını oluşturalım.

  • Yeni Modelin oluşması için;

  • Veritabanına göç işlemleri

  • Kullanıcı oluşturma

Admin paneline giriş yapalım ;

 

List_display alanına “Avatar” alanı eklenmiş.

Kullanıcı ekleme bölümüne “Avatar” eklenmiş.

User Kayit Form Genişletme

Kullanıcı kayit işlemleri için “UserCreationForm” kullaniyoruz. Fakat yeni eklediğimiz alanlar kayıt ekranına gelmeyecektir.

Örneğin “Avatar” alanını eklemek için ;

Form’u çağırırsak eğer şöyle bir görüntü gelecektir.

User modelini A’dan z’ye genişlettik diye düşünüyorum 🙂 umarım faydalı olmuştur.

Django AbstractUser ile Genişletme

Giriş Yap

Hoşgeldin, sefa getirdin :)

Şifre Sıfırla

Şifreni bidaha unutma lütfen :)

Geri git :
Giriş Yap