Django ile Python’da Web Geliştirme: Temel Kılavuz PDF

Giriş: Django Nedir ve Neden Kullanmalıyız?

Django, Python programlama diliyle yazılmış bir web geliştirme çerçevesidir. 2005 yılında geliştirilmeye başlanmış olan bu çerçeve, hızlı prototip oluşturma ve ölçeklenebilirlik konularında önemli avantajlar sunmaktadır. Django, ‘batteries-included’ felsefesiyle, gereksinim duyulan birçok özelliği önceden paketler ve bu sayede geliştiricilerin birçok işlemi sıfırdan inşa etmesine gerek kalmadan web uygulamalarını hızlı bir şekilde geliştirmelerini sağlar.

Django’nun en büyük avantajlarından biri, sağlam güvenlik özellikleridir. Kullanıcı kimlik doğrulama, veri güvenliği ve CSRF koruması gibi temel güvenlik özellikleri, geliştirme sürecinde zaman ve çaba tasarrufu sağlar. Django ile yapılan uygulamalar, güvenlik açıklarına karşı korumalıdır ve bu durum, onu birçok geliştirici için cazip kılmaktadır.

Django, zamanla büyüyen ve gelişen büyük bir topluluğa sahiptir. Bu topluluk, çeşitli kaynaklarla yeni başlayanlar için rehberlik etmekte ve sıkça karşılaşılan sorunların çözüm arayışında yardımcı olmaktadır. İşte bu yüzden Django, Python tabanlı web geliştirme için popüler bir tercih haline gelmiştir.

Django Kurulumu ve İlk Adımlar

Django’yu kullanmaya başlamak için öncelikle bilgisayarınıza Python kurulumunu yapmalısınız. Python yüklendikten sonra, pip adlı paket yöneticisi ile Django’yu kolayca yükleyebilirsiniz. Cihazınızın terminal veya komut istemcisine şu komutu girerek Django’yu kurabilirsiniz:

pip install Django

Django kurulduktan sonra, yeni bir proje oluşturmak için terminalde aşağıdaki komutu çalıştırmalısınız:

django-admin startproject proje_adi

Bu komut, belirtilen isimle yeni bir Django projesi oluşturacaktır. Projeyi başlattıktan sonra, klasör yapısını inceleyebilirsiniz. ‘manage.py’ dosyası, uygulamanızı yönetmek için kullanacağınız bir betiktir. ‘settings.py’ ise projenizin ayarlarının bulunduğu dosyadır ve buradan veritabanı bağlantıları, statik dosyalar gibi pek çok önemli yapılandırmayı yapabilirsiniz.

Temel Django Uygulaması Oluşturma

Django projenizi oluşturduktan sonra, artık bir uygulama (app) oluşturmaya hazırız. Django’da uygulama, belirli bir işlevi yerine getiren bileşenlerdir. Bir uygulama oluşturmak için projeyle aynı dizinde aşağıdaki komutu girebilirsiniz:

python manage.py startapp uygulama_adi

Bu komut yeni bir uygulama klasörü oluşturacaktır. Uygulamayı proje ile entegrasyonunu sağlamak için ‘settings.py’ dosyasının ‘INSTALLED_APPS’ bölümüne uygulama adını eklemeyi unutmayın.

Daha sonra, Django’da bir model oluşturmak önemlidir. Model, veritabanındaki bir tabloyu temsil eder. Aşağıda basit bir örnek verilmektedir:

from django.db import models

class Blog(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

Bu model, blog yazıları için basit bir yapı sağlar. Modeliniz oluşturulduktan sonra, veritabanı tablolarını oluşturmak için ‘migrate’ komutunu kullanmalısınız:

python manage.py makemigrations
python manage.py migrate

Django ile Görsel Arayüz Geliştirme

Django’nun en güçlü özelliklerinden biri, veri ile görsel içerik arasında köprü kurabilmesidir. Uygulamanızın gövdesi, şablonlar (templates) aracılığıyla oluşturulur. Django, HTML dosyalarınızı dinamik hale getirerek verileri kullanıcıya sunar. Şablonları kullanarak verileri görüntülemek için ‘render’ fonksiyonuyla birlikte generatorları kullanabilirsiniz.

Örnek bir görünüm (view) şöyle görünebilir:

from django.shortcuts import render
from .models import Blog

def blog_list(request):
    blogs = Blog.objects.all()
    return render(request, 'blog_list.html', {'blogs': blogs})

Uygulamanızda ‘urls.py’ dosyasını kullanarak bu görünümü URL’lere bağlamanız gerekmektedir:

from django.urls import path
from .views import blog_list

urlpatterns = [
    path('', blog_list, name='blog_list'),
]

Bu şekilde, kullanıcılara ‘blog_list.html’ dosyasını kullanarak blog yazılarını gösteren bir sayfa sunabilirsiniz.

Django ile RESTful API Oluşturma

Django, veri tabanınızı istemci uygulamalarına açmak için RESTful API’ler oluşturmanıza da olanak tanır. Django REST Framework, bu işlemi oldukça kolaylaştıran ve birçok entegre özelliği ile dikkat çeken bir kütüphanedir. Django REST Framework ile API’ler geliştirmek için öncelikle kütüphaneyi kurmanız gerekmektedir:

pip install djangorestframework

Daha sonra, uygulama ayarlarını güncelleyerek ‘INSTALLED_APPS’ bölümüne ‘rest_framework’ eklemeyi unutmayın. Bir API görünümü oluşturmak için aşağıdaki gibi bir model ve serializer yazmalısınız:

from rest_framework import serializers
from .models import Blog

class BlogSerializer(serializers.ModelSerializer):
    class Meta:
        model = Blog
        fields = '__all__'

Bu serializer ile model listesini ve detayına erişim sağlar ve artık API görünümü oluşturmaya hazırız. API görünümümüz aşağıdaki gibi olacaktır:

from rest_framework import viewsets

class BlogViewSet(viewsets.ModelViewSet):
    queryset = Blog.objects.all()
    serializer_class = BlogSerializer

Son adım olarak, bu görünümü URL’lere bağlamanız gerekir. URL’leri ayarlamak için yine ‘urls.py’ dosyasını kullanırız:

from django.urls import path, include
from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register(r'blogs', BlogViewSet)

urlpatterns = [
    path('', include(router.urls))
]

Django’da Yayınlama ve Üretime Geçiş

Projenizi tamamladıktan sonra, uygulamanızı canlıya almak için hazırlık yapmalısınız. Öncelikle, genellikle Django uygulamaları için önerilen web sunucusu olan Gunicorn’u kullanabilirsiniz. Gunicorn ile uygulamanızı çalıştırmak için aşağıdaki komutu terminalde çalıştırmalısınız:

gunicorn myproject.wsgi:application

Uygulamanızın doğru çalıştığını kontrol etmek için sunucunuzu başlatmanız gerekmekte. Ancak, yayınlama süreci sadece sunucuyu çalıştırmakla bitmez. Düzgün bir şekilde çalıştığından emin olmak için uygulamanızın ayarlarının güvenliğini kontrol etmelisiniz. Böylece, gizli anahtarlarınızı ve veritabanı bilgilerinizin kötüye kullanılmasını engelleyebilirsiniz.

Yayınlama işleminden sonra, sunucu bakım çalışmalarınızı da düşünmelisiniz. Uygulamanızın performansını izlemek, hata günlüklerini takip etmek ve güncellemeleri düzenli yapmanız gerekmektedir. Django, topluluk ve dökümantasyon açısından zengin bir kaynak olduğu için, tüm bu süreçler hakkında daha fazla bilgi bulmanız oldukça kolaydır.

Özet ve Kaynaklar

Django, Python ile web geliştirmek isteyenler için vazgeçilmez bir araçtır. Güvenli, hızlı ve ölçeklenebilir yapısıyla birçok profesyonel projede yerini almıştır. Django ile bir uygulama geliştirme sürecinde, temel adımları takip ederek başlangıç seviyesinden ileri seviyeye kadar ilerleyebilir ve güçlü API’ler oluşturabilirsiniz.

Django uygulamanızı geliştirdikten sonra, canlıya almak ve bakımını yapmak da bir o kadar önemlidir. Tüm bu süreçleri yaşarken, Python ve Django topluluğunun sunduğu kaynaklardan faydalanarak, öğrenmenize ve paylaşmanıza olanak tanıyacak birçok bellek ve çevrimiçi dokümantasyona ulaşabilirsiniz.

Kaynaklarınızı düzenli güncelleyip toplulukla etkileşimde bulunarak, bu alanda gerçekleşen yenilikleri takip edebilir ve kendinizi geliştirmeye devam edebilirsiniz. Django ile ilgili daha fazla bilgi ve örnek projeler için resmi Django belgelerine göz atmayı unutmayın!

Scroll to Top