Django Admin Paneli Nedir? Nasıl Çalışır?

Merhabalar bu konumda: Django Admin Paneli Nedir? Django Admin Paneli Nasıl Çalışır? Konularını inceleyeceğiz.

Django derslerimizin önceki yazısında model kavramını incelemiştik ve kendimizi küçük bir app (uygulama) oluşturarak model dosyasının içine kodlarımızı yazmıştık. Eğer bir önceki yazımı okumadıysanız önce onu okumanızı tavsiye ederim. Yazının en sonunda bulabilirsiniz.

Django Admin Paneli Nedir?

Django admin paneli, Django’nun bizlere hazır olarak sunduğu bir app’dir. Eğer ana urls.py dosyasını incelerseniz orada hali hazırda bir “admin/ ” şeklinde url’nin tanımlı olduğunu görürsünüz. Bu admin panelinde modellerimizi kontrol edebilir, yeni kullanıcı oluşturabilir , kullanıcıların yetkilerini düzenleyebilir, silebilir ve yeni kullanıcı grubu oluşturabiliriz. Kullanıcı işlemleri içinde – kayıt olmak gibi – Django bize tıpkı admin paneli gibi hazır bir kullanıcı app’i sağlamakta. Bunu daha sonra inceleyeceğiz.

Django Admin Paneli Nasıl Çalışır?

Django admin panelimizi çalıştırmadan önce tıpkı blog app’imizi çalıştırmadan önceki gibi bazı terminal kodları yazmamız gerekiyor.

Settings.py dosyasının içindeki installed apps kısmını gelelim. Burada bizim blog app’imiz dışında birkaç tane daha app bulunduğunu görüyoruz. Bunların en başında

'django.contrib.admin',

Adında admin paneli appi bulunmakta. Geçen derste projemizi çalıştırdığımızda terminalde kırmızı ile bir uyarı vermişti. Size bunu diğer derste çözeceğimizi söylemiştim. Şimdi tek bir terminal kodunda çözelim.

Öncesinde bu uyarının ne demek olduğunu hatırlatayım. Bu uyarı bizlere yüklenmemiş uygulamalar olduğunu hatırlatıyor. Şimdi bu yüklenmemiş uygulamaların hepsini tek komut ile yükleyeceğiz. Terminalimizi açıyoruz ve şu kodu yazıyoruz:

python manage.py migrate

Kayan bir yazı şeklinde tüm uygulamalarımızın yüklendiğini göreceksiniz. Şimdi sunucuyu çalıştıralım ve url’mizin sonuna /admin yazalı

Bir login sayfası ile karşılaştıysanız hata yapmadınız demektir. Şimdi terminale tekrar dönerek admin paneline girebilmek için super user yani admin oluşturalım.

python manage.py createsuperuser

şimdi terminalde kullanıcı adımızı , mail adresimizi ve şifremizi gireceğiz. Maili girmek zorunda değilsiniz. Boş bırakıp enter’a tıklayarak maili boş geçebilirsiniz. Şifreniz en az 8 karakter içermelidir. Ayrıca çok kullanılan şifreler olmamalı(qwerty123, admin123, 12345678…). Şifrenizi girerken bastığınız tuşlar ekranda yıldız veya nokta şeklinde gözükmez. Merak etmeyin tuşlar çalışıyor. “Superuser created successfully.” yazısı çıktıysa sıkıntı yok demektir. Hemen runserver ile sunucumuzu tekrar başlatıp şifremizle admin paneline girelim.

Django Eğitimi
Django Eğitimi

Gördüğünüz gibi kullanıcılar ve gruplar kısımları aktif. Peki bizim uygulamamız ve modellerimiz nerede? Hemen ekleyelim. Blog app’imizin içinde bulunan admin.py dosyasını açalım ve aşağıdaki kodları ekleyelim.

from .models import Kategori
from .models import Post

admin.site.register(Post)
admin.site.register(Kategori)

Kodların ne işe yaradığını açıklayalım. Yukarıda sizinde anlayacağınız üzere model dosyasındaki modellerimizi ekledik. (” . ” bu dizin içindeki anlamına gelmektedir.) Ardından post ve kategori modellerimizi “admin.site.register” metodu ile admin paneline ekledik. Hemen kontrol edelim.

Django Dersleri
Django Dersleri

Admin Panelinden Yeni Post Eklemek

Admin panelinden yeni bir post ekleyelim. Öncelikle postta kategori belirteceğimizden ve kategeri field’i ForeignKey ile Kategori sınıfına bağlı olduğundan öncelikle Kategoris’e girip yeni bir kategori oluşturalım.

Django Admin Paneli Nedir? Nasıl Çalışır?
Django Admin Paneli Nedir? Nasıl Çalışır?

Yazar kısmı gördüğünüz gibi otomatik geldi bir liste halinde. Ben shadow adında bir kullanıcı oluşturmuştum. İsterseniz yeni bir kullanıcı oluşturup kullanıcı izinlerinden post ekleme izni vererek yazar listesine bir kullanıcı daha eklendiğini görebilirsiniz. başlıklı ve yazı kısmına da istediğimizi giriyoruz ardından kategori kısmına geçiyoruz. Göreceğiniz gibi kategori kısmında az önce eklediğiniz kategori isimleri bulunmakta. Yayınlanma tarihine istersen gelecek bir tarih girerek o tarihte yazının yayınlanmasını sağlayabilirsiniz. Model kısmında hatırlarsanız boş geçilebilir olarak ayarlamıştık. Boş geçtiğimizde ise anında yayınlanacaktır.

Admin paneli az çok bu kadar. İsterseniz daha çok kurcalayabilirsiniz. Diğer yazılarımı da okumayı unutmayın. Eğer bir önceki ders yazısını okumadıysanız aşağıdaki linke tıklayarak okuyabilirsiniz.

Ayrıca aklınıza takılan bir kısım veya merak ettiğiniz bir şey varsa hemen yorumlar kısmına yazabilirsiniz.

Django Modelleri Nedir? Django’da Model Oluşturma

BİR SONRAKİ DERS EKLENECEKTİR TAKİPTE KALIN

Yazılarımızdan Anında Haberdar Olmak İçin Telegram Kanalımıza katılabilir veya Instagram Hesabımızı Takip Edebilirsiniz.

Leave a Reply