Python Django, web uygulamaları geliştirmek için güçlü ve esnek bir framework'tür. Bu rehberde, sıfırdan bir proje oluşturmanın adımlarını detaylı bir şekilde inceleyeceğiz. Amacımız, temel bilgileri aktararak okuyucuların kendi projelerini başarıyla hayata geçirmelerine yardımcı olmaktır.
İçindekiler
Django Nedir ve Neden Kullanmalıyız?
Django, Python programlama diline dayanan açık kaynaklı bir web framework’üdür. 2005 yılında oluşturulan bu framework, hızlı geliştirme ve temiz, pragmatik tasarım felsefesi üzerine kurulmuştur. Django, özellikle veri odaklı web uygulamaları geliştirmek için gerekli olan tüm bileşenleri bir arada sunar. Bu sayede geliştiricilere zaman kazandırırken, uygulamaların güvenliğini ve ölçeklenebilirliğini artırır.
Django’nun sunduğu en önemli özelliklerden biri, “batteries-included” (içinde pil ile birlikte gelen) yaklaşımıdır. Yani, kullanıcılara başlangıçtan itibaren birçok hazır bileşen ve modül sağlar. Kullanıcı kimliği ve şifre yönetimi, veritabanı bağlantıları, form işleme, kullanıcı arayüzü şablonları gibi birçok özellik, Django ile birlikte gelir. Ayrıca, model-view-template (MVT) mimarisi sayesinde projelerinizin mimarisini kolayca yönetebilir ve sürdürülebilir hale getirebilirsiniz.
Django Kurulumu ve Ortam Hazırlığı
Django kurulumunu yapmadan önce, sisteminizde Python’un yüklü olması gerekmektedir. Python 3.6 veya üzeri bir sürüm kullanmanız önerilir. Python’un kurulumunu tamamladıktan sonra, Django’yu yüklemek için pip (Python’un paket yöneticisi) kullanabilirsiniz. Aşağıdaki komutu terminal veya komut istemcisine yazarak Django’yu kolayca yükleyebilirsiniz:
pip install django
Kurulum işlemi tamamlandıktan sonra, bir sanal ortam oluşturmak iyi bir uygulamadır. Sanal ortam, projeler arasında bağımlılıkları yönetmenizi sağlar. Sanal ortam oluşturmak için aşağıdaki adımları izleyebilirsiniz:
- Terminalde bir dizin oluşturun ve bu dizine gidin.
- Sanal ortam oluşturmak için şu komutu kullanın:
python -m venv myenv
- Oluşturulan sanal ortamı aktifleştirin:
- Windows için:
myenvScriptsactivate
- Unix veya MacOS için:
source myenv/bin/activate
Sanal ortamı aktifleştirdikten sonra, Django’yu bu ortamda kullanmaya devam edebilirsiniz. Yeni bir Django projesi başlatmak için şu komutu yazmanız yeterlidir:
django-admin startproject projectname
Böylece, gerekli dosya ve dizin yapısı otomatik olarak oluşturulmuş olacaktır. Artık proje klasörünüze giderek geliştirmeye başlayabilirsiniz. Django, kurulumdan itibaren size oldukça esnek bir geliştirme ortamı sunar ve projenizin tüm gereksinimlerini karşılamaya hazırdır.
Yeni Bir Django Projesi Oluşturma
Django ile yeni bir proje oluşturmak, framework’ün sunduğu güçlü özellikleri en iyi şekilde kullanabilmek için atılacak ilk adımlardan biridir. Django projesi oluşturmak için öncelikle terminal veya komut istemcisine erişim sağlamamız gerekiyor. Django, Proje oluşturma adımını oldukça basit hale getirerek yalnızca birkaç komut ile hızlıca yeni projeler oluşturmanıza olanak tanır. Örneğin, terminalde django-admin startproject proje_adi komutunu yazarak yeni bir proje oluşturabilirsiniz. Burada proje_adi kısmını kendi projenizin ismi ile değiştirmelisiniz.
Proje oluşturulduğunda, Django otomatik olarak gerekli dosyaları ve dizin yapısını oluşturur. Bu yapı içerisinde settings.py, urls.py ve wsgi.py gibi kritik dosyalar yer alır. settings.py dosyası, projenizin ayarlarının bulunduğu yerdir. Buradan veritabanı ayarlarını, statik dosya ayarlarını ve uygulama ayarlarını yönetebilirsiniz. Projeyi oluşturduktan sonra, proje dizinine geçmek için cd proje_adi komutunu kullanın ve ardından python manage.py runserver komutuyla yerel sunucunuzu başlatabilirsiniz.
Django Uygulaması Geliştirme Adımları
Django’da bir uygulama geliştirmek, projenizin karmaşıklığına ve ihtiyaçlarınıza bağlı olarak değişir. Uygulama, belirli bir işlevselliği temsil eden bir modüldür. Django uygulamanızı oluşturmak için terminalde python manage.py startapp uygulama_adi komutunu kullanmalısınız. Bu komut, gerekli dizin yapısını ve dosyaları oluşturur; örneğin models.py, views.py, urls.py gibi dosyalar. Bu dosyalar, uygulamanızın temel bileşenleridir ve her biri farklı işlevleri yerine getirir.
Uygulama geliştirme süreci, genellikle model oluşturma ile başlar. Modeller, veritabanındaki tabloları temsil eder. models.py dosyasına giderek, kendi veritabanı modellerinizi tanımlayabilirsiniz. Örneğin, bir blog uygulaması için BlogPost adında bir model oluşturabilir, başlık ve içerik alanları ekleyebilirsiniz. Daha sonra bu model üzerinden veritabanı migrasyonu yaparak veritabanınızı güncelleyebilirsiniz.
- views.py: Kullanıcıdan gelen isteklere yanıt veren fonksiyonları veya sınıfları tanımlar.
- urls.py: Uygulamanız içinde hangi URL’lerin hangi görünümlerle eşleşeceğini belirler.
- admin.py: Django admin panelinde görünmesini istediğiniz model ve verileri yönetmek için kullanılır.
Son olarak, tüm bu bileşenlerin düzgün çalışabilmesi için projenizin kök dizinindeki settings.py dosyasına yeni uygulamanızı eklemeyi unutmayın. INSTALLED_APPS listesine uygulama adınızı ekleyerek Django’nun uygulamanızı tanımasını sağlarsınız. Bunları tamamladıktan sonra projenizi test edebilir ve geliştirmeye devam edebilirsiniz.
Django ile Veritabanı Yönetimi ve Migrasyon
Django, web uygulamaları geliştirmek için kullanılan güçlü bir Python framework’üdür. Veritabanı yönetimi, bir web uygulamasının en kritik bileşenlerinden biridir ve Django, bu konuda kullanıcılara büyük kolaylıklar sunar. Django ORM (Object-Relational Mapping) katmanı sayesinde veri tabanındaki tabloları Python nesneleri olarak temsil edebiliriz. Bu, geliştiricilerin SQL sorguları yazmadan, standart Python kodları ile veritabanları ile etkileşime geçmesine olanak tanır.
Django ile veritabanı yönetimi sürecine başlarken öncelikle, projemizde hangi veritabanını kullanacağımızı belirlememiz gerekir. Django, SQLite, PostgreSQL, MySQL ve Oracle gibi birçok veritabanını desteklemektedir. Kullanmak istediğimiz veritabanını ayarladıktan sonra, Django projemiz içerisinde gerekli ayarlamaları yaparak veritabanı ile iletişim kurabiliriz. Ayrıca, veritabanı migrasyonları sayesinde uygulama geliştirme sürecinde yapılan değişiklikleri veritabanına uygulayabiliriz.
- Veritabanı Ayarları: Django’nun ayar dosyasında (settings.py) DATABASES bölümü altında veritabanı ile ilgili ayarları yapılandırmalıyız. Örneğin, SQLite kullanacaksak ayarlar şöyle görünecektir:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
- Migrasyonlar: Uygulamanızda model değişiklikleri yaptığınızda, bu değişiklikleri veritabanına yansıtmak için migrasyon komutlarını kullanmalısınız. İlk olarak, model değişikliklerinizi tanımladıktan sonra
python manage.py makemigrationskomutunu çalıştırarak migrasyon dosyalarını oluşturmalısınız. Ardındanpython manage.py migratekomutu ile bu değişiklikleri veritabanına uygulayabilirsiniz.
Migrasyonlar, veritabanındaki değişikliklerin kaydını tutarak, uygulamanızın ilerleyen dönemlerinde veri kaybı yaşamadan güncellemeler yapmanıza olanak tanır. Bu, özellikle ekip halinde çalışan geliştiriciler için kritik bir özelliktir. Ayrıca, migrasyonlar geri alınabilir olduğundan, herhangi bir hata durumunda kolayca geri dönüş yapabilirsiniz.
Django, veritabanı yönetimi konusunda sağladığı bu özellikler ile geliştiricilerin işlerini büyük ölçüde kolaylaştırmakta ve verimliliği artırmaktadır. ORM yapısını kullanarak karmaşık SQL sorgularını basit ve anlaşılır hale getirmek, projelerin daha hızlı geliştirilmesini sağlar. Bu nedenle, Django’nun veritabanı yönetim fonksiyonları, framework’ün tercih edilmesinde önemli bir etken olmaktadır.
Sıkça Sorulan Sorular
Django nedir?
Django, Python ile yazılmış yüksek seviyeli bir web framework’üdür. Hızlı geliştirme ve temiz, pragmatik tasarım için tasarlanmıştır.
Django’yu neden kullanmalıyım?
Django, güvenlik, ölçeklenebilirlik ve hızlı geliştirme imkanı sunar. Ayrıca geniş bir topluluğa ve bol dokümantasyona sahiptir.
Django ile hangi tür projeler geliştirebilirim?
Django, bloglar, e-ticaret siteleri, sosyal medya platformları ve daha birçok türde web uygulaması için uygundur.
Django’yu kurmak için hangi gereksinimler var?
Django’yu kullanmak için Python’un sisteminizde kurulu olması gerekir. Python 3.6 veya daha üst bir sürüm önerilir.
Django’nun en son sürümünü nasıl yükleyebilirim?
Django’yu yüklemek için terminalde ‘pip install django’ komutunu kullanabilirsiniz. Bu, en son stabil sürümü kuracaktır.
Django projesi nasıl oluşturulur?
Django projesi oluşturmak için terminalde ‘django-admin startproject proje_adi’ komutunu kullanmalısınız.