Kayıt Ol

Giriş


Şifremi Kaybettim

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksı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 YamanYenilmez

Mühendis adayı, yazılım geliştirici ve haftanın hergünü yazılım ile zamanını geçiren ve kendini geliştiren pratik ve işine sahip öz verili biriyimdir. Web yazılım ve geliştirme alanında kendimi geliştirmekteyim ve hergün yeni birşey öğrenmeden günümü bitirmiyorum.

Beni Takip Et

Yorumlar ( 6 )

  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.

  3. Merhabalar, User modelini bu şekilde genişletmek en mantıklı yol mudur ? İleride ekleme vs yaparken kayıt alırken, herhangi bir sorun yaşar mıyız ? Özetle farklı bir yol bakmalı mıyım yoksa bu genişletme yeterli olacak mıdır ? Teşekkürler.

Cevap yazın

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