Python Django için Yeni Başlayanlar Rehberi

Django Nedir?

Django, Python programlama dili ile yazılmış, açık kaynaklı bir web geliştirme çerçevesidir. 2005 yılında geliştirilmeye başlanan Django, kullanımı kolay ve hızlı bir şekilde güçlü web uygulamaları oluşturma imkanı sunar. Hızlı bir geliştirme süreci sağlamak ve temiz, pragmatik tasarımlar oluşturmak amacı ile tasarlanmıştır.

Django’nun temel felsefesi, “Yeniden Kullanılabilirlik” ve “Sadelik”tir. Bu nedenle, geliştirdiğiniz her yeni özellik için baştan bir şeyler yapmak yerine, mevcut özellikleri kullanma yoluna gidersiniz. Özellikle veri tabanı yönetimi, form işlemleri, kullanıcı kimlik doğrulama ve URL yönlendirmeleri gibi sıkça kullanılan işlevler Django tarafından otomatik olarak sağlanmaktadır.

Başlangıç seviyesindeki geliştiriciler için Django’nun cazip olmasının bir diğer nedeni, sağlam belgeleri ve büyük bir destek topluluğunun varlığıdır. Kapsamlı belgeler, hatalarınızla karşılaştığınızda rehberlik ederken, topluluk desteği sayesinde sorularınıza daha hızlı yanıt bulabilirsiniz.

Django ile Başlarken

Django’ya başlamak için ihtiyacınız olan ilk şey Python’un bilgisayarınıza kurulmasıdır. Python’un en son sürümünü indirdikten sonra, Django’yu kolayca yüklemek için Python’un paket yöneticisi olan pip’i kullanabilirsiniz. Terminal veya komut istemcisinde aşağıdaki komutu çalıştırarak Django’yu yükleyebilirsiniz:

pip install django

Django yüklendikten sonra, yeni bir Django projesi oluşturmak için yine terminalden aşağıdaki komutu kullanabilirsiniz:

django-admin startproject myproject

Burada ‘myproject’ yerine kendi projenizin adını verebilirsiniz. Bu komut, sizin için gerekli dosya ve dizin yapısını otomatik olarak oluşturacaktır. Şimdi proiect dizinine geçelim ve geliştirici sunucusunu başlatalım:

cd myproject
python manage.py runserver

Bu komut çalıştığında, localhost:8000 adresinden Django’nun yerel geliştirme sunucusuna erişebilirsiniz. Her şey yolunda giderse, karşınızda Django’nun hoş bir karşılama sayfası çıkacaktır. Tekrar hatırlatmak gerekirse, her şeyin düzgün çalıştığından emin olmak için, kurulumdan sonra belirtilen adımları dikkatlice takip etmek oldukça önemlidir.

Django Projesinin Yapısı

Django projeniz oluşturulduktan sonra, içerisinde bulunan dosya ve dizin yapısını anlamak önemlidir. Django, projenizi modül bazlı bir yapıda düzenleyerek, geliştirme sürecinizi daha organize hale getirir. Proje dizininizde, ‘manage.py’ adlı bir dosya, ‘settings.py’, ‘urls.py’ ve ‘wsgi.py’ adlı dizinleri göreceksiniz. ‘manage.py’, Django projenizi yönetmenize yardımcı olurken, ‘settings.py’, projenizin ayarlarını barındırır.

‘urls.py’, URL yönlendirmelerini belirlediğiniz yerdir. Bu dosya, hangi URL’lerin hangi view’lere yönlendirilmesini istediğinizi tanımlar. Örneğin, ana sayfanız için basit bir route tanımlamak isterseniz, aşağıdaki gibi kodlayabilirsiniz:

from django.urls import path
from . import views
urlpatterns = [
    path('', views.home, name='home'),
]

Burada, gelen root URL (yani ana sayfa) isteği ‘home’ view’ine yönlendirilir. View’ler, kullanıcının göreceği sayfayı belirleyen işlevlerdir. Örneğin, bir ‘home’ view’i aşağıdaki gibi tanımlanabilir:

from django.http import HttpResponse
def home(request):
    return HttpResponse("Hoşgeldiniz!")

Django’da Veri Tabanı Yönetimi

Django, veri tabanı işlemlerini basit ve etkili bir şekilde yönetmek için güçlü bir ORM (Object-Relational Mapping) sunar. Django’nun veri tabanı modelleme sistemi ile, verilerinizi Python sınıfları olarak tanımlayabilirsiniz. Bu sayede, veri tabanınızla etkileşimde bulunmak çok daha kolay hale gelir.

Veri tabanında kullanılacak modelleri tanımlamak için projelerinizin içindeki ‘models.py’ dosyasını kullanabilirsiniz. Örnek bir model tanımı aşağıdaki gibi olabilir:

from django.db import models
class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

Burada ‘Article’ adında bir model tanımladık. ‘title’, ‘content’ ve ‘created_at’ alanları ile makalelerimizin başlık, içerik ve oluşturulma tarihini tutacağız. Modeli tanımladıktan sonra, veri tabanınızı güncellemek için aşağıdaki komutları çalıştırarak migrasyon işlemlerini başlatmalısınız:

python manage.py makemigrations
python manage.py migrate

Django’da Kullanıcı Oturum Açma ve Yetkilendirme İşlemleri

Django, yerleşik bir kullanıcı oturum açma ve yetkilendirme sistemi ile birlikte gelir. Bu özellik, kullanıcıların kayıt olmasına, oturum açmasına ve oturum kapatmasına olanak tanıyan bir dizi fonksiyonu içerir. Kullanıcı modeli ile çalışmak için öncelikle Django’nun kullanıcı modelini dahil etmelisiniz:

from django.contrib.auth.models import User

Bir kullanıcı kaydetmek için aşağıdaki gibi bir view işlevi yazabilirsiniz:

def register(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = User.objects.create_user(username=username, password=password)
        return HttpResponse("Kayıt başarılı!")
    return render(request, 'register.html')

Daha sonra kayıtlı kullanıcıların oturum açabilmesi için bir oturum açma formu oluşturmalı ve bu işlemi gerçekleştiren bir view yazmalısınız. Django’nun ‘authenticate()’ ve ‘login()’ işlevleri, bu süreci oldukça kolaylaştırır.

Django İle Hızlı Prototipleme

Django, hızlı prototipleme için mükemmel bir çerçevedir. Golang, Ruby on Rails gibi modern web çerçeveleri ile karşılaştırıldığında, hızlı bir şekilde uygulama geliştirip test edebilme yeteneği sunar. Yeni projelere başlarken, varsayılan yapı ve yerleşik işlevler sayesinde, temel işlevselliği birkaç dakika içinde oluşturabilirsiniz.

Django’nun sağladığı sağlıklı bir yapısal tasarım ile birlikte, uygulamanızın ölçeklenebilitesi ve sürdürülebilirliği büyük ölçüde artırılmaktadır. Küçük bir uygulama geliştirirken, kullanılan bileşenlerin uyumluluğu ve güncellenebilirliği sayesinde daha karmaşık projelerin oluşturulmasına zemin hazırlamaktadır.

Yeni başlayanlar için projeler geliştirmek, öğrenilen bilgilerin pekişmesini sağlarken, aynı zamanda uygulama geliştirme ortamına hâkim olmaları açısından da büyük bir avantaj sağlar. Hızlı gelişim süreci ile birlikte, öğrenilen her yeni kavramı anında pratiğe dökmek mümkündür.

Gelişmiş Özellikler ve En İyi Uygulamalar

Django, yalnızca basit web uygulamaları geliştirmekle kalmaz, aynı zamanda çok işlevli, güçlü ve yedekli sistemlerin kurulmasına da olanak tanır. Django Admin paneli sayesinde, geliştirdiğiniz uygulamanın tüm verilerini görebilir, düzenleyebilir ve yeni içerikler ekleyebilirsiniz. Bu, yeni başlayanların yönetim işlevselliğini öğrenmesine olanak tanır.

Django’nun diğer bir avantajı ise, çok sayıda üçüncü parti kütüphane ve eklentinin bulunmasıdır. Özellikle django-rest-framework gibi kütüphaneler, RESTful API’ler oluşturmak ve mevcut uygulamalara API yetenekleri eklemek için idealdir. Bu, tüm geliştiricilerin web uygulamalarını daha işlevsel hale getirmelerini sağlar.

Proje geliştirirken uyulması gereken en iyi uygulamalar arasında temiz kod yazma, düzenli yorumlama ve test etme yer alır. Test Driven Development (TDD) yaklaşımını benimsemek, proje üzerindeki hataları doğrudan yakalamak adına oldukça etkilidir. Bir uygulamanın her bileşeninin test edilmesi, uzun vadede kalite ve güvenilirliği artırır.

Sonuç

Django, Python ile web geliştirmeye yeni başlayanlar için mükemmel bir başlangıç çerçevesidir. Kullanım kolaylığı, geniş topluluk desteği ve kapsamlı dokümanları ile geliştiricilere büyük kolaylık sağlar. İlk projelerinizi geliştirirken öğrendiklerinizi uygulama şansı bulacak ve kendinizi geliştirme yolunda önemli adımlar atabileceksiniz. Projelerinizde denemeler yapmayı ve sürekli öğrenmeyi unutmayın! Django ile yazılım geliştirmeye adım atarak, yeni yetenekler kazanmanın yanı sıra, hayalinizdeki uygulamaları hayata geçirebilirsiniz.

Scroll to Top