16 Ocak 2014 Perşembe

Yönetim (Admin) Paneli

Merhaba arkadaşlar,

Bu gün sizlere Django'nun kullanıcılarına sunduğu bir diğer kolaylık olan yönetim panelini anlatmak istiyorum. Özellikle veritabanına veri ekleme, silme ve güncelleme rahatlığı sağladığı için çoğu kullanıcı tarafından tercih edilmektedir. Yönetim panelini bir kaç adımda etkinleştirebiliriz. Bu etkinleştirme olayını geçen haftalarda yaptığımız okul veritabanı projesi için yapalım. Öncelikle settings.py  dosyasında INSTALLED_APPS değişkeninde yorum satırı koyduğumuz uygulamaları ve django.contrib.admin uygulamasını etkinleştirelim. Burda etkinleştirmekten kasıt satır başlarında bulunan yorum (#) işaretlerini  kaldıralım. Son hali aşağıdaki gibi olacaktır :

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # Uncomment the next line to enable the admin:
     'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
    'yonetim',
)

Sonra urls.py dosyasında admin panelini etkinleştirmek için aşağı iki satırdaki yorumları kaldıralım :

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()


Ve aynı dosyada admin url'ini etkinleştirelim. Diğer bir değişle urlpatterns değişkeninde bulunan aşağıdaki satırın başındaki yorum işaretini (#) kaldıralım:


 # Uncomment the next line to enable the admin:
     url(r'^admin/', include(admin.site.urls)),


Şimdi de veritabanında yönetim paneli için gerekli olan tabloları ve yönetici kullanıcısını oluşturalım. Aşağıdaki komutu komut satırında çalıştırdığımızda bize yetkili kullanıcıyı olıştrumak istetiğimizi soracaktır. yes cevap verelim. Ardından bizden kullanıcı adını, e-posta edresini ve parola eklememizi isteyecektir. Parolalar yazarken görünmeyecektir.


>python manage.py syncdb
Creating tables ...
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions 
Creating table auth_user_groups
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table django_admin_log
You just installed Django's auth system, which means you don't have any
superusers defined.
Would you like to create one new? (yes/no): yes
Username(leave blank to use 'kullanıcı adınız'):
E-mail address: mail_adresiniz@mail.com
Password:
Password(again):
Superuser created successfully.
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)


Ve son olarak kendi uygulamamızı yönetici panelinden kullanmak üzere yonetim/admin.py dosyasını oluşturup içerisini aşağıdaki satırları ekleyelim :


from django.contrib import admin
from yonetim.models import *

admin.site.register(OgretimElemani)
admin.site.register(Ders)
admin.site.register(Ogrenci)




Bundan sonra herhangi bir uygulama verilerini yönetmek için sadece uygulama klasörüne admin.py dosyasını oluşturup tanımlamamız yeterli olacaktır. Şimdi sunucuyu çalıştırıp tarayıcımızdan admin sayfasına gidelim.

C:\...\DjangoProjeleri\okul>python manage.py runserver

-----------------------------------------------------------------------------------------------------
http://localhost:8000/admin/
-----------------------------------------------------------------------------------------------------

Giriş ekranında sizden kullanıcı adı ve parola soracaktır.




















Gördüğünüz gibi yönetim sayfamız ön tanımlı olarak İngilizce gelmektedir. Eğer Türkçe'ye çevirmek istersek settings.py dosyasında LANGUAGE_CODE değişkenini aşağıdaki gibi değiştirmemiz yeterli olacaktır:

LANGUAGE_CODE = 'tr-TR'








Yönetim paneli size kullanıcı ve grup yönetimi (Auth), bu projede barındırılan web siteleri alan ve isimlerin yönetimi (Sites) ve veritabanı yönetimi (daha önce uygulamamızdaki admin.py dosyasına eklediğimiz veritabanları) bölümlerini etkin kullanmada yardımcı olur. Şimdi yönetim paneli yardımıyla veritabanı işlemlerinizi rahatlıkla yapabilirsiniz.






























Yönetim paneli ile ilgili daha çok veriye burdan ulaşabilirsiniz.


Referanslar :
  1. https://docs.djangoproject.com/en/dev/
  2. BAŞER, Mustafa (2013). Django