Python Django Cheat Sheet: Hızlı Başlangıç Rehberi

Giriş: Django ile Web Geliştirmenin Avantajları

Django, Python programlama dili ile yazılmış ve hızlı, güvenli web uygulamaları geliştirme amacına yönelik bir web çerçevesidir. Geliştiricilere sunduğu yüksek verimliliği sayesinde, projelerin daha hızlı şekillenmesini sağlar. Django’nun sunduğu birçok hazır bileşen, veri tabanı işlemlerinden kullanıcı kimlik doğrulamasına kadar bir çok işlemi kolayca yapmanıza olanak tanır. HTML, CSS ve JavaScript gibi ön yüz dillerinde yeterlilik sahibi olan bir geliştirici, Django ile arka uç geliştirme süreçlerini büyük ölçüde hızlandırabilir.

Django’yu tercih etmenin bir diğer önemli nedeni, gelişmiş güvenlik özellikleri sunmasıdır. Kötü niyetli saldırılara karşı korunmak amacıyla yerleşik olarak sağlanan birçok araç ile, geliştiriciler projelerini güvenilir bir şekilde ortaya koyabilir. Zamanla karmaşıklaşan projelerde bile, Django’nun sunduğu yapısal düzen ile geliştirme süreçlerini kolaylaştırmak mümkün hale gelir.

Bu makalede, Django ile çalışırken işinizi kolaylaştıracak temel komutları ve işlevleri içeren bir cheat sheet sunacağız. Bu notlar, hem yeni başlayanların öğrenme sürecini hızlandıracak hem de deneyimli geliştiricilerin referans alabileceği kullanışlı bilgiler içerecek.

Django Kurulumu ve Başlangıç

Django ile projelerinize başlangıç yapmak için öncelikle Django’yu yüklemeniz gerekiyor. Bunun için Python yüklü bir ortamda aşağıdaki komutu terminalinize yazarak kurulumu gerçekleştirebilirsiniz.

pip install Django

Kurulum tamamlandıktan sonra, yeni bir Django projesi oluşturmak için aşağıdaki komutu kullanabilirsiniz:

django-admin startproject projem_adi

Burada `projem_adi`, oluşturacağınız projenin adıdır. Projeniz oluşturulduktan sonra, proje dizinine girerek sunucuyu başlatabilirsiniz. Django’nun geliştirme sunucusu, çalıştığınız projeyi test etmenizi sağlar:

cd projem_adi
python manage.py runserver

Bu komut ile geliştirme sunucusu çalışmaya başlayacak ve varsayılan olarak 127.0.0.1:8000 adresine bağlanacaksınız. Tarayıcınızdan bu adresi ziyaret ederek Django’nun varsayılan başlangıç sayfasını görüntüleyebilirsiniz.

Django Uygulaması Oluşturma

Django, projeler içinde birden fazla uygulama oluşturmanıza olanak tanır. Uygulama, belirli bir işlevselliği yerine getirir. Yeni bir uygulama oluşturmak için şu komutu kullanabilirsiniz:

python manage.py startapp uygulama_adi

Oluşturduğunuz uygulamayı proje ayarlarında tanıtmalısınız. Bunun için `settings.py` dosyasını açarak `INSTALLED_APPS` listesine uygulamanızın adını ekleyin:

INSTALLED_APPS = [
    ... ,
    'uygulama_adi',
]

Django’da model oluşturmak için, oluşturduğunuz uygulama klasöründe `models.py` dosyasını düzenlemeniz gerekecek. Örneğin, basit bir `Blog` modeli oluşturmak için şu kodu kullanabilirsiniz:

from django.db import models

class Blog(models.Model):
    baslik = models.CharField(max_length=200)
    icerik = models.TextField()
    tarih = models.DateTimeField(auto_now_add=True)

Modelinizi oluşturduktan sonra, veritabanı tablolarınızı oluşturmak için aşağıdaki komutları çalıştırmalısınız:

python manage.py makemigrations
python manage.py migrate

Django Admin Paneli ile Yönetim

Django, projeleriniz için kullanışlı bir yönetim paneli sağlar. Yönetim panelini kullanabilmek için kullanıcı eklemeniz gerekmektedir. Aşağıdaki komut ile yeni bir kullanıcı oluşturabilirsiniz:

python manage.py createsuperuser

Oluşturduğunuz kullanıcı adı ve şifre ile admin paneline erişebilirsiniz. Panelinize ulaşmak için localhost adresinin sonuna `/admin` ekleyin:

127.0.0.1:8000/admin

Admin paneline girdiğinizde, oluşturduğunuz modelleri kolayca yönetebilir, veri ekleyebilir ya da güncelleyebilirsiniz. Admin paneli üzerinde yer alan her bir model için otomatik bir arayüz oluşturulur.

Django’da URL Yönlendirmeleri

Django ile geliştirdiğiniz projelerde URL yönlendirmeleri oldukça önemlidir. Her URL, belirli bir görünüm fonksiyonuna veya sınıfına yönlendirilir. URL yapılandırmaları `urls.py` dosyasında tanımlanır. İlk olarak, uygulamanızın urls.py dosyasını oluşturarak ihtiyacınıza uygun yönlendirmeleri yapabilirsiniz.

from django.urls import path
from . import views

urlpatterns = [
    path('', views.ana_sayfa, name='ana_sayfa'),
]

Daha sonra, ilgili görüntü işlevini `views.py` dosyasında tanımlamalısınız:

from django.shortcuts import render

def ana_sayfa(request):
    return render(request, 'ana_sayfa.html')

Oluşturduğunuz `ana_sayfa.html` şablonunu `templates` klasörüne yerleştirmeyi unutmayın. URL yapılandırmalarını genel `urls.py` dosyasında uygulamanıza dahil etmek için de aşağıdaki yapıyı kullanabilirsiniz:

from django.urls import include
urlpatterns = [
    path('uygulama_adi/', include('uygulama_adi.urls')),
]

Django ile Şablonlar ve Statik Dosyalar

Django, HTML şablonlarını yönetmek ve dinamik içerik sunmak için güçlü bir yapı sunar. Şablon yaratırken, HTML içeriğinizi `templates` klasöründe saklayarak bu içerikleri şablon motoruyla birleştirebilirsiniz. Örneğin, `ana_sayfa.html` dosyanızda aşağıdaki basit yapı bulunmaktadır:

{{ baslik }}

{{ icerik }}

Django’da statik dosyalarınızı yönetmek için `STATIC_URL` ve `STATICFILES_DIRS` ayarlarını kullanarak projeye dahil etmeniz gerekir. Statik dosyalar, proje içerisinde kullanılan CSS, JavaScript ve resim dosyalarıdır. Örneğin CSS dosyanızı `static` klasöründe şu şekilde kullanabilirsiniz:

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),]

Şablon dosyalarınızdan statik dosyalara erişmek için aşağıdaki yapıdan yararlanabilirsiniz:

{% load static %}
 

Django ile Formlar ve Veri Alma

Django ile kullanıcı girdilerini almak için form yapıları oluşturabilirsiniz. Bunun için `forms.py` dosyasında bir form sınıfı tanımlayabilirsiniz. Aşağıda basit bir iletişim formu örneği verilmiştir:

from django import forms

class IletisimFormu(forms.Form):
    isim = forms.CharField(max_length=100)
    email = forms.EmailField()
    mesaj = forms.CharField(widget=forms.Textarea)

Bu formu şablon dosyalarınızda render ederek kullanıcıdan veri alabilirsiniz. İletişim formunu yönetmek için ilgili görünüm fonksiyonunu da aşağıdaki gibi oluşturabilirsiniz:

def iletisim_view(request):
    if request.method == 'POST':
        form = IletisimFormu(request.POST)
        if form.is_valid():
            # Veriyi işleme
            return redirect('ana_sayfa')
    else:
        form = IletisimFormu()
    return render(request, 'iletisim.html', {'form': form})

Django ile API Geliştirme

Django, RESTful API geliştirmek için de oldukça idealdir. Django REST framework’ü (DRF) kullanarak, standart bir API oluşturabilir ve yönetebilirsiniz. Öncelikle DRF kütüphanesini yüklemek gerekir:

pip install djangorestframework

DRF kullanarak bir API görünümü oluşturmak için, yeni bir görünüm sınıfı tanımlayarak belirli bir model üzerinde işlem yapabilirsiniz. Örneğin, basit bir Blog API’si aşağıdaki gibi tanımlanabilir:

from rest_framework import viewsets
from .models import Blog
from .serializers import BlogSerializer

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

Bunun yanında, uygun URL’leri tanımlamak için `urls.py` dosyanızda RESTful yönlendirme ayarlarını yapmanız gerekecektir:

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

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

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

Django ile Hataların Giderilmesi

Django ile çalışırken karşınıza çıkabilecek yaygın hatalar bulunmaktadır. Hatalarınızı hızlı bir şekilde gidermek için, sunucu çıktısını ve hata mesajlarını dikkatlice takip etmeniz önemlidir. Örneğin, bir model tanımında alanların eksik geldiğini fark edebilirsiniz; bu durumda veritabanı migrate işleminde hata alabilirsiniz.

Django’nun sağladığı hata günlüğü, size sorun yaşadığınız noktalar hakkında bilgi verir. Örneğin, 404 Not Found hatası alıyorsanız, bu durum URL yönlendirmelerinde veya tanımlamalarınızda bir sorun olduğuna işaret edebilir.

Bunun yanı sıra, Django ile oluşturduğunuz projelerde sık karşılaşılan bir diğer hata ise IntegrityError hatasıdır. Bu hata, veri eklerken uyumsuz değerler girildiğinde veya izin verilmeyen bir işlem yapıldığında ortaya çıkar. Hata mesajında size daha fazla bilgi verildiği için, bu mesajı okuyarak problemi belirleyebilirsiniz.

Sonuç ve Teşvik

Django, web geliştirmede birçok kolaylık sağlayan güçlü bir araçtır. Kuşkusuz ilk başta karmaşık gelen birçok özellik, zamanla ve deneyimle daha anlaşılır hale gelecektir. Bu cheat sheet, Django’nun temel işlevlerini hızlıca hatırlatacak ve pratik yaparken başvurabileceğiniz bir kaynak olacak.

Unutmayın ki, öğrenmenin en iyi yolu hata yapmaktır. Projelerinizde yeni özellikler ekleyerek denemeler yapın. Kendi uygulamalarınızı oluştururken, Django’nun sunduğu olanaklardan yararlanmaya devam edin. Sadece bu cheat sheet’e bağlı kalmayın; topluluk destekli kaynaklardan, forumlardan ve belgelerden faydalanarak bilginizi derinleştirin.

Artık, Python ve Django ile projelerinizi hayata geçirmek için gerekli bilgilere sahipsiniz! İleri düzey özellikler ve uygulamalar için kendinizi geliştirmeye devam edin, ve öğrendiklerinizi paylaşmak için fırsat yaratın. İyi çalışmalar!

Scroll to Top