Django'ya Giriş Rehberi: İlk Web Uygulamanızı Hızla Oluşturun

2/19/2026
5 min read

Django'ya Giriş Rehberi: İlk Web Uygulamanızı Hızla Oluşturun

Django, hızlı geliştirme ve sade tasarım hedefiyle oluşturulmuş üst düzey bir Python Web çatısıdır. Model-Şablon-Görünüm (MTV) mimarisini izler, kodun yeniden kullanımını ve bileşenleştirmeyi teşvik eder. Bu rehber, basit bir Django uygulamasını adım adım oluşturmanıza rehberlik edecek ve hızlıca başlamanızı sağlayacaktır.

1. Ortam Kurulumu

Öncelikle, sisteminizde Python'un kurulu olduğundan emin olmanız gerekir. Django, Python 3.6 veya daha üst bir sürümünü kullanmanızı önerir.

1.1 Python'u Kurulum

Sisteminizde Python yüklü değilse, Python resmi web sitesinden indirip kurabilirsiniz.

1.2 Sanal Ortam (Virtual Environment) Oluşturma

Farklı projeler arasındaki bağımlılıkları izole etmek için, sanal ortam kullanmanız şiddetle tavsiye edilir.

  1. Bir terminal veya komut istemi açın.

  2. Bir proje dizini oluşturun, örneğin myproject:

    mkdir myproject
    cd myproject
    
  3. Sanal ortamı oluşturun ve etkinleştirin:

    python3 -m venv venv  # veya python -m venv venv
    source venv/bin/activate  # Linux/macOS
    venv\Scripts\activate  # Windows
    

    Sanal ortamı etkinleştirdikten sonra, terminal isteminizde (venv) görüntülenecektir, bu da sanal ortamı kullandığınızı gösterir.

1.3 Django'yu Kurulum

Etkinleştirilmiş sanal ortamda, pip kullanarak Django'yu kurun:

pip install Django

Kurulumun başarılı olup olmadığını doğrulayın:

python -m django --version

Django'nun sürüm numarasını görmelisiniz.

2. Django Projesi Oluşturma

Django'yu kurduktan sonra, yeni bir Django projesi oluşturabilirsiniz.

  1. Hala proje dizininizde (myproject) aşağıdaki komutu çalıştırın:

    django-admin startproject mysite
    

    Bu, myproject dizini altında mysite adında bir dizin oluşturacak ve Django projesinin iskelet dosyalarını içerecektir.

  2. mysite dizinine girin:

    cd mysite
    
  3. Django proje dizin yapısı aşağıdaki gibidir:

    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            asgi.py
            wsgi.py
    
    • manage.py: Django projesini yönetmek için kullanılan bir komut satırı aracıdır.
    • mysite/: Proje yapılandırmasını içeren Python paketidir.
      • __init__.py: Python'a bu dizinin bir Python paketi olarak kabul edilmesi gerektiğini söyleyen boş bir dosyadır.
      • settings.py: Veritabanı ayarları, hata ayıklama modu vb. gibi proje yapılandırma dosyasıdır.
      • urls.py: URL'leri görünüm işlevlerine eşleyen URL yönlendirme yapılandırmasıdır.
      • asgi.py: Asenkron uygulamaları dağıtmak için kullanılan ASGI (Asynchronous Server Gateway Interface) yapılandırma dosyasıdır.
      • wsgi.py: Geleneksel senkron uygulamaları dağıtmak için kullanılan WSGI (Web Server Gateway Interface) yapılandırma dosyasıdır.## 3. Geliştirme Sunucusunu Başlatma

Django, yerel olarak geliştirme ve test yapmanızı kolaylaştıran hafif bir geliştirme sunucusuyla birlikte gelir.

  1. mysite dizininde aşağıdaki komutu çalıştırın:

    python manage.py runserver
    
  2. Tarayıcınızı açın ve http://127.0.0.1:8000/ adresini ziyaret edin. "It worked! Congratulations on your first Django-powered page." sayfasını görmelisiniz.

4. Django Uygulaması Oluşturma

Bir Django projesi birden fazla uygulama içerebilir. myapp adlı bir uygulama oluşturalım.

  1. Yeni bir terminal penceresi açın (geliştirme sunucusunu çalışır durumda tutun).

  2. mysite dizininde aşağıdaki komutu çalıştırın:

    python manage.py startapp myapp
    

    Bu, mysite dizini altında, Django uygulamasının iskelet dosyalarını içeren myapp adlı bir dizin oluşturacaktır.

  3. Django uygulama dizin yapısı aşağıdaki gibidir:

    myapp/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py
    
    • __init__.py: Python'a bu dizinin bir Python paketi olarak kabul edilmesi gerektiğini söyleyen boş bir dosya.
    • admin.py: Django yönetim panelini yapılandırmak için kullanılır.
    • apps.py: Uygulama yapılandırması.
    • migrations/: Veritabanı geçişlerini yönetmek için kullanılır.
    • models.py: Veri modellerini (veritabanı tabloları) tanımlar.
    • tests.py: Test senaryoları yazmak için kullanılır.
    • views.py: İstekleri işleyen ve yanıt döndüren görünüm fonksiyonlarını tanımlar.
  4. mysite/settings.py içinde, myapp'i INSTALLED_APPS listesine ekleyin:

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'myapp',  # myapp'i ekle
    ]
    

5. Basit Bir Görünüm Oluşturma

Şimdi tarayıcıda "Hello, Django!" görüntüleyen basit bir görünüm oluşturalım.

  1. myapp/views.py dosyasını düzenleyin ve aşağıdaki kodu ekleyin:

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, Django!")
    
  2. Bir myapp/urls.py dosyası oluşturun ve URL'leri görünüm fonksiyonuna eşleyin:

    from django.urls import path
    from . import views

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

3.  `myapp/urls.py` dosyasını `mysite/urls.py` dosyasına dahil edin:

    ```python
    from django.urls import include, path
    from django.contrib import admin

    urlpatterns = [
        path('admin/', admin.site.urls),
        path('myapp/', include('myapp.urls')),  # myapp'in URL yapılandırmasını ekle
    ]
    ```

4.  `http://127.0.0.1:8000/myapp/` adresini ziyaret edin. "Hello, Django!" sayfasını görmelisiniz.

## 6. Bir Model Oluşturun

Şimdi bazı verileri depolamak için basit bir model oluşturalım.

1.  `myapp/models.py` dosyasını düzenleyin ve aşağıdaki kodu ekleyin:

    ```python
    from django.db import models

    class Question(models.Model):
        question_text = models.CharField(max_length=200)
        pub_date = models.DateTimeField('date published')

        def __str__(self):
            return self.question_text
    ```

    Bu, `Question` adında bir model tanımlar ve iki alan içerir: `question_text` (CharField) ve `pub_date` (DateTimeField).

2.  Veritabanı geçişlerini oluşturun ve uygulayın:

    ```bash
    python manage.py makemigrations myapp
    python manage.py migrate
    ```

    `makemigrations` komutu, modelinize göre geçiş dosyaları oluşturur ve `migrate` komutu, geçişleri veritabanına uygular.

## 7. Django Yönetim Paneli Kullanımı

Django, verilerinizi kolayca yönetmenizi sağlayan güçlü bir yönetim paneli sunar.

1.  Bir süper kullanıcı oluşturun:

    ```bash
    python manage.py createsuperuser
    ```

    İstenen kullanıcı adını, e-posta adresini ve şifreyi girin.

2.  `myapp/admin.py` dosyasını düzenleyin ve `Question` modelini kaydedin:

    ```python
    from django.contrib import admin
    from .models import Question

    admin.site.register(Question)
    ```

3.  `http://127.0.0.1:8000/admin/` adresini ziyaret edin ve oluşturduğunuz süper kullanıcı ile giriş yapın. "Questions" modülünü görmelisiniz, burada sorular ekleyebilir, düzenleyebilir ve silebilirsiniz.

## 8. Şablonları Kullanma

Şablonları kullanarak HTML sayfalarını daha esnek bir şekilde oluşturabilirsiniz.1. `myapp` dizini altında `templates` adında bir dizin oluşturun ve `templates` dizini altında `myapp` adında bir dizin oluşturun (`myapp/templates/myapp`).

2. `myapp/templates/myapp` dizini altında `index.html` adında bir dosya oluşturun ve aşağıdaki kodu ekleyin:

    ```html
    
    
        
            # Merhaba, Django!
        
        Şu anki zaman: {{ current_time }}
    
    ```

3. `myapp/views.py` dosyasını düzenleyin ve şablonu kullanın:

    ```python
    from django.shortcuts import render
    import datetime

    def index(request):
        now = datetime.datetime.now()
        return render(request, 'myapp/index.html', {'current_time': now})
    ```

    `render` fonksiyonu şablonu yükler ve verileri şablonu işlemek için şablona iletir.

4. `http://127.0.0.1:8000/myapp/` adresini tekrar ziyaret edin. Şu anki zamanı içeren sayfayı görmelisiniz.

## 9. Sonuç

Bu kılavuz sayesinde, Django'nun temel kavramlarını ve kullanım yöntemlerini öğrendiniz; buna ortam kurulumu, proje ve uygulama oluşturma, model tanımlama, görünüm oluşturma ve şablon kullanma dahildir. Bu sadece bir başlangıç, Django zengin özellikler sunar, daha karmaşık Web uygulamaları oluşturmak için öğrenmeye ve keşfetmeye devam edebilirsiniz.
Published in Technology

You Might Also Like