Django ile Python Kullanarak Web Siteleri Oluşturmanın Temelleri

Giriş: Neden Django?

Django, web geliştirme için güçlü ve etkili bir framework olarak Python ekosisteminin en popüler araçlarından biridir. Geliştiricilere hız, güvenlik ve ölçeklenebilirlik sunan Django, hem yeni başlayanlar hem de deneyimli yazılımcılar için cazip bir tercih haline gelmiştir. Bu yazıda, Django’nun temel özelliklerini ele alacak ve Python ile web siteleri nasıl oluşturabileceğinizi adım adım göstereceğiz.

Django, Models-Views-Templates (MVT) mimarisi üzerine kurulmuştur. Bu yapı, uygulamanızın verilerini, kullanıcı arayüzünü ve uygulama iş mantığını düzenlemek için etkili bir yol sunar. Geliştiricilerin projenin her alanında daha az kodla daha fazla iş yapmalarını sağlar. Özellikle veri tabanı tabanlı uygulamalar için sunduğu otomatik yönlendirmeler, form işleme ve kullanıcı kimlik doğrulama özellikleri ile hızla web uygulamaları geliştirmenize olanak tanır.

Ayrıca Django, yerleşik olarak sunduğu güvenlik önlemleri sayesinde web uygulamalarının güvenliğini artırır. SQL enjeksiyonları, XSS ve CSRF gibi yaygın güvenlik tehditlerine karşı koruma sağlar. Bu makalede, Django kullanarak basit bir web sitesi geliştirmenin temel adımlarını göstereceğiz.

Django Kurulumu ve Proje Oluşturma

Django ile başlamadan önce, Python ve Django’nun sisteminize kurulu olduğundan emin olun. Python’un en son sürümünü indirin ve ardından terminal veya komut istemcisine aşağıdaki komutu girerek Django’yu yükleyin:

pip install django

Kurulumun ardından, yeni bir Django projesi oluşturmak için terminalde şu komutu kullanabilirsiniz:

django-admin startproject myproject

Bu komut, ‘myproject’ adında yeni bir proje oluşturur. Daha sonra bu dizine gidip geliştirme sunucusunu başlatmak için şu komutu kullanabilirsiniz:

python manage.py runserver

Yukarıdaki adımları takip ederek projenizin çalıştığını kontrol edebilir ve tarayıcınıza http://127.0.0.1:8000 yazarak Django’nun varsayılan başlangıç sayfasını görebilirsiniz. Şimdi projemizin ana yapı taşlarını oluşturmaya başlayalım.

Django Uygulaması Oluşturma

Django projesi, uygulama adı verilen bir veya birden fazla bileşenden oluşur. Uygulama, belirli bir işlevselliği temsil eden modüllerdir. Yeni bir uygulama oluşturmak için terminalden şu komutu çalıştırabiliriz:

python manage.py startapp myapp

Bu komut, ‘myapp’ adında yeni bir uygulama oluşturacaktır. Uygulama dizininde views.py, models.py ve admin.py gibi dosyalar yer alacaktır. Şimdi uygulamamıza bazı temel görünümler ekleyelim.

Öncelikle views.py dosyasına gidiyoruz ve basit bir ‘Merhaba Dünya’ görünümü tanımlıyoruz:

from django.http import HttpResponse

def merhaba(request):
    return HttpResponse('Merhaba Dünya!')

Bu fonksiyon, kullanıcı isteği aldığında ‘Merhaba Dünya!’ mesajını dönecektir. Şimdi bu görünümü URL’ler üzerinden erişilebilir hale getirmek için urls.py dosyasını oluşturmalıyız.

URL Yönlendirmeleri

Django’da URL yönlendirmeleri, uygulamanızın hangi görünümün hangi URL ile ilişkilendirileceğini belirler. Proje dizininizde, urls.py isimli bir dosya oluşturup şu kodları ekliyoruz:

from django.contrib import admin
from django.urls import path
from myapp import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('merhaba/', views.merhaba),
]

Bu yönlendirme ile /merhaba/ URL’sine girdiğinizde ‘merhaba’ görünümüne ulaşabilirsiniz. Sunucunuzu yeniden başlatmayı unutmayın ve tarayıcıdan http://127.0.0.1:8000/merhaba/ adresine giderek sonucu kontrol edin.

Django’nun URL yönlendirme sistemi, karmaşık uygulamalar geliştirirken kodun düzenli ve okunabilir kalmasını sağlar. Artık temel yönlendirme sistemini kurduğumuza göre, veri tabanı modelleri ekleyerek projemizi ileriye taşıyalım.

Veri Tabanı Modelleri Oluşturma

Django, veri tabanı işlemleri için kendi ORM (Object-Relational Mapping) sistemini sunar. Bu şekilde, SQL yazmak zorunda kalmadan Python sınıfları ile veri tabanında işlem yaparsınız. models.py dosyasında, veritabanı modelimizi tanımlamak için şu kodları ekleyelim:

from django.db import models

class Kitap(models.Model):
    title = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    created_at = models.DateTimeField(auto_now_add=True)

Bu basit modelde, kitap başlığı ve yazarı için alanlar tanımladık. Daha sonra bu modelden veritabanını güncellemek için makemigrations ve migrate komutlarını kullanmalıyız:

python manage.py makemigrations
python manage.py migrate

Bu komutlar, oluşturduğumuz modeli veri tabanına uygular. Artık veri tabanında ‘Kitap’ adında bir tabloya sahibiz.

Verileri Görüntüleme ve Yönetme

Django, uygulamanızı hızlı bir şekilde yönetmek için yerleşik bir yönetim paneli sunar. Bu paneli aktif hale getirmek için admin.py dosyasına gidiyoruz ve modelimizi yönetime ekliyoruz:

from django.contrib import admin
from .models import Kitap

admin.site.register(Kitap)

Şimdi terminalden süper kullanıcı oluşturmalıyız:

python manage.py createsuperuser

İlgili bilgileri girdikten sonra gelişmiş ayarlarla birlikte web yönetim paneline erişebilirsin. Tarayıcıda http://127.0.0.1:8000/admin/ adresine giderek süper kullanıcı hesabı ile giriş yapın. Buradan kitap verilerini yönetebiliriz.

Yönetim panelinde ekleme, silme ve güncelleme işlemlerini kolayca gerçekleştirebilirsiniz. Ayrıca veri tabanınızda daha fazla model ve yönetim için gerekli araçlar eklemek mümkündür.

Temel Şablon Oluşturma

Django’da görünüm ve verilerinizi sunmak için şablonlar kullanılır. Şimdi şablonları kullanarak dinamik sayfalar oluşturalım. Proje dizinimizde ‘templates’ adında bir klasör oluşturup, kitaplar.html isimli bir dosya ekleyelim:

<!DOCTYPE html>
<html>
<head>
    <title>Kitaplar</title>
</head>
<body>
    <h1>Kitap Listesi</h1>
    <ul>
        {% for kitap in kitaplar %}
            <li>{{ kitap.title }} - {{ kitap.author }}</li>
        {% endfor %}
    </ul>
</body>
</html>

Bu şablonda, kitapların listesini göstermek için bir döngü kullanıyoruz. Şimdi views.py dosyasında, bu şablonu kullanarak görünümümüzü güncelleyelim:

from django.shortcuts import render
from .models import Kitap

def kitaplar(request):
    tüm_kitaplar = Kitap.objects.all()
    return render(request, 'kitaplar.html', {'kitaplar': tüm_kitaplar})

Son olarak URL yönlendirmemize bu görünümü ekleyelim:

path('kitaplar/', views.kitaplar),

Artık http://127.0.0.1:8000/kitaplar/ adresinde kitapların listesini görüntüleyebilirsiniz.

Sonuç ve İleriye Dönük Adımlar

Bu makalede, Django’yu kullanarak Python ile web uygulamaları geliştirmenin temel adımlarını inceledik. Django’nun kurulumu, uygulama oluşturma, URL yönlendirmeleri, veri tabanı modelleri ve şablonlar gibi konuları ele aldık. Artık basit bir web sitesi inşa etmek için gerekli bilgiye sahipsiniz.

Daha ileriye gitmek için kullanıcı kimlik doğrulama, API oluşturma, form işleme ve diğer Django bileşenleri hakkında daha fazla bilgi edinmenizi öneririm. Django’nun sunduğu geniş dokümantasyon sayesinde kendi projelerinizi geliştirebilir ve Python ekosistemindeki becerilerinizi daha da pekiştirebilirsiniz.

Unutmayın ki, uygulamalarınızı geliştirirken düzenli olarak pratiğe ihtiyaç duyarsınız. Kendi projelerinizi oluşturarak Django’da ustalaşabilirsiniz. Python ile web geliştirme serüveninizde başarılar dilerim!

Scroll to Top