Kayıt Ol

Giriş


Şifremi Kaybettim

Kayıtlı olduğunuz e-posta adresini yazın, size gelen şifre sıfırlama linkine tıklayın. Ardından tekrar size e-posta gelicek size rastgele bir şifre üretecektir.

soru ekleme

Soru sormak için giriş yapmalısınız.

Giriş


Kayıt Ol

Merhaba, kayıt formu üzerinden kayıt olabilirsiniz. Fakat sosyal medya ile kayıt olmanızı önermekteyiz.

Django AbstractUser ile Genişletme

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.

Hakkında Ali YamanUsta

Herzaman bilginin gücüne inanlardan oldum , araştirmalarım ve deneyimlerimlerimi sizlere sunmayı amaçlıyorum. İstanbul Üniversitesi Kontrol ve Otomasyon Öğrencisiyim Elektronik ve Programlama ile ilgim var.

Beni Takip Et

Yorumlar ( 3 )

  1. Bütün işlemleri birebir yaptım ama hata mesajı aşağıdaki gibidir.

    HINT: Update the relation to point at ‘settings.AUTH_USER_MODEL’.

    • Sanırım, settings.py’da hatalı işlem yaptın.

      Örneğin burada “app” yerine senin uygulama klasör adını yazman gerekiyor. Yaptığın işlemleri baştan sonra tekrar kontrol et istersen.

  2. Sorunun neden kaynaklandığını buldum. Kullanıcı modelini genişletmek için projenin en başında yapmak gerekiyor. Veritabanı ile bağlantılı bir uygulama var ise hata veriyor.

Yorum Yap

Captcha Captcha güncellemek için resime tıkla