Django Nedir ve Neden Kullanılır?
Django, Python programlama diliyle yazılmış bir web geliştirme çerçevesidir. Yüksek düzeyde bir framework olarak, geliştiricilere hızlı bir şekilde web uygulamaları oluşturma imkanı sağlar. Django, “donanımda olanı, yazılımda olanı” prensibiyle hareket ederek, daha az kod yazarak daha fazla şey yapma olanağı sunar.
Django’nun en büyük avantajlarından biri, gelişmiş bir ORM (Object-Relational Mapping) sistemine sahip olmasıdır. Bu sistem, veritabanı ile etkileşim kurarken geliştiricilere Python nesneleri ile çalışıyormuş gibi bir deneyim sunar. Bu sayede SQL sorguları yazmak yerine, Python kodlarıyla veritabanı işlemlerinizi gerçekleştirebilirsiniz. Ayrıca, Django’da yerleşik olarak bulunan güvenlik önlemleri, uygulamanızın güvenliğini artırır ve en yaygın güvenlik açıklarına karşı koruma sağlar.
Django, geniş bir topluluk desteğine sahip olduğundan, kullanıcıların sorularına hızlı bir şekilde yanıt bulmaları kolaydır. Kapsamlı dökümantasyonu, yeni başlayanlar için de rehberlik ederken, deneyimli geliştiriciler için de derinlemesine bilgiler sunar. Bu, Django’yu yalnızca hızlı değil, aynı zamanda güvenilir bir seçenek haline getirir.
Django Nasıl Kurulur?
Django kurulum süreci oldukça basittir ve birkaç adımda tamamlanabilir. İlk olarak, sisteminizde Python’un kurulu olduğundan emin olun. Python 3.6 ve üzeri sürümler, Django ile uyumludur. Python’u kurduktan sonra, pip (Python’un paket yönetim aracı) kullanarak Django’yu kurabilirsiniz. Terminal veya komut istemcisine şu komutu yazarak Django’yu kolayca yükleyebilirsiniz:
pip install django
Bu komut, en son Django sürümünü otomatik olarak indirip kuracaktır. Kurulumdan sonra, Django’nun başarıyla yüklendiğini doğrulamak için terminalde şu komutu yazabilirsiniz:
django-admin --version
Eğer kurulum başarılıysa, Django versiyonunu göreceksiniz. Artık, Django ile web uygulaması geliştirmeye hazırız.
İlk Django Projemizi Oluşturmak
Django ile ilk projemizi oluşturmak için, öncelikle bir proje dizini oluşturmalıyız. Terminal üzerinden, projelerimizi saklayacağımız bir klasörü açın ve şu komutu girin:
django-admin startproject benimprojem
Bu komut, yeni bir Django projesi oluşturur ve gerekli dizin yapısını otomatik olarak hazırlar. Proje oluşturulduktan sonra, dizine girip uygulamanızı çalıştırabilirsiniz:
cd benimprojem
python manage.py runserver
Bu komut, Django geliştirme sunucusunu başlatır ve varsayılan olarak http://127.0.0.1:8000/ adresinde erişilebilir hale getirir. Tarayıcınızı açarak bu adrese girdiğinizde, Django’nun başarıyla çalıştığını gösteren bir karşılama ekranı göreceksiniz.
Django Uygulamalarının Yapısı
Django, uygulama merkezli bir yapıya sahiptir. Yani, her bir proje, bir veya birden çok uygulama içerebilir. Her uygulama, belirli bir işlevi yerine getirir. Örneğin, bir e-ticaret web sitesi için ürünler, kullanıcılar ve siparişler gibi farklı uygulamalar oluşturabilirsiniz. Uygulama oluşturmak için terminalde şu komutu kullanmalısınız:
python manage.py startapp urunler
Bu komut, urunler adında yeni bir uygulama oluşturur. Oluşturduğunuz uygulama, projenizin ana dizininde yer alacaktır. Her uygulamanın kendi models.py, views.py, urls.py gibi dosyaları vardır. Burada models.py, veritabanında kullanılacak veri modellerini tanımlarken; views.py, kullanıcıya gösterilecek içerikleri hazırlar.
Django’da Veri Tabanı Modelleri
Django’nun ORM sistemi sayesinde, veritabanı modellerinizi Python sınıfları olarak tanımlayabilirsiniz. Örneğin, bir ürün modeli oluşturmak için şu şekilde bir sınıf oluşturabiliriz:
from django.db import models
class Urun(models.Model):
ad = models.CharField(max_length=100)
fiyat = models.DecimalField(max_digits=10, decimal_places=2)
Yukarıdaki örnek, bir ürünün adını ve fiyatını saklamak için iki alanı olan bir model tanımlar. Artık bu model ile veritabanında ürün verilerini saklayabiliriz. Modelinizi oluşturduktan sonra, veritabanınızda bu değişiklikleri uygulamak için bir migrasyon yapmalısınız:
python manage.py makemigrations
python manage.py migrate
Bu komutlar, tanımladığınız modellerin veritabanına uygulanmasını sağlar ve artık ürün verilerinizi veritabanında tutabilirsiniz. Django, veritabanı işlemlerini basit ve anlaşılır bir yapıda sunar.
Django’da URL Yönlendirmeleri
Django, URL yönlendirmeleri ile kullanıcıların uygulamanızda nasıl gezineceğini yönetir. Uygulama düzeyinde urls.py dosyasını düzenleyerek, belirli URL’lerle hangi view fonksiyonlarının çalışacağını tanımlayabilirsiniz. Örneğin, urunler uygulaması için aşağıdaki gibi bir yönlendirme yapabilirsiniz:
from django.urls import path
from . import views
urlpatterns = [
path('', views.urunler_listesi, name='urunler_listesi'),
]
Bu kod, uygulamaya yapılan isteklerde boş bir URL (ana sayfa) için urunler_listesi fonksiyonunun çalışmasını sağlar. Bu fonksiyonu tanımlamak için views.py dosyasını açıp, istenen verileri döndüren bir fonksiyon oluşturmalısınız:
from django.shortcuts import render
def urunler_listesi(request):
return render(request, 'urunler/urunler_listesi.html')
Bu örnek, kullanıcı urunler/ adresine gittiğinde ürünlerin listeleneceği bir görüntü döndürmek üzere ayarlanmıştır. Görüntü dosyanızı da uygun dizinde oluşturduğunuzdan emin olun.
Django’da Şablon Kullanımı
Django, verileri kullanıcıya sunmanın etkili bir yolunu sağlamak için şablon sistemi sunar. Şablonlar, HTML içeriğini dinamik hale getirerek kullanıcıya veri iletmek için kullanılır. Temel bir şablon oluşturmak için templates klasörü altında bir HTML dosyası oluşturmalısınız. Örneğin, ürünler listesini görüntülemek için bir urunler_listesi.html dosyası oluşturabiliriz:
<h1>Ürünler</h1>
<ul>
{% for urun in urunler %}
<li>{{ urun.ad }} - {{ urun.fiyat }} TL</li>
{% endfor %}
</ul>
Bu şablonda, bir ürün listesi gösterilecektir. Şablondaki {{ urun.ad }} ve {{ urun.fiyat }} ifadeleri, view fonksiyonundan gelen verilerle doldurulacaktır. Django, veri ve görüntü arasındaki etkileşimi oldukça kolay ve etkili bir hale getirir.
Sonuç ve İleri Adımlar
Django, hızlı bir şekilde web uygulamaları geliştirmek için mükemmel bir çerçeve sunar. Yukarıda belirtilen adımlar, temel bir Django uygulaması oluşturmada izlemeniz gereken yolu kapsamaktadır. Artık kendi projenizi oluşturarak, web geliştirme yolculuğunuza başlayabilirsiniz.
Bundan sonraki aşamada, daha karmaşık uygulamalar geliştirmek için Django’nun sunduğu diğer özellikleri keşfetmeye başlayın. RESTful API’ler oluşturmayı, kullanıcı kimlik doğrulama yöntemlerini entegre etmeyi ya da Django admin panelini özelleştirmeyi deneyin. Geliştirme sürekçesinin tadını çıkararak, öğrenmekten asla vazgeçmeyin!
Daha fazla bilgi ve kaynaklar için Django resmi dökümantasyonunu ziyaret edebilir, topluluk forumlarında diğer geliştiricilerle etkileşime geçebilirsiniz. Unutmayın, öğrenme sürecinde hata yapmak, en iyi öğretmendir. Bol şans!