Davet et, 1 ay ücretsiz Pro kazanNasıl çalışır?

Claude Code ile Django Projelerinde Pratik Geliştirme

Django projelerinde Claude Code ile model, migration, DRF ve pytest-django kullanımını adım adım öğrenin; CLAUDE.md ve pratik çalışma döngüsü örnekleriyle.

Solviera Teknoloji 5 dk okuma

Claude Code, terminalde claude komutuyla başlattığınız bir kodlama ajanıdır; Django projesinin kök klasöründe çalıştırdığınızda proje dosyalarını okuyup düzenleyebilir, komutları çalıştırabilir ve test çıktılarını yorumlayabilir. Django’nun model, migration, view, template ve DRF katmanlarında günlük işleri hızlandırmak için iyi bir yardımcıdır. Doğru proje talimatları ve küçük adımlı bir döngüyle, tekrar eden işleri güvenle devredebilirsiniz. Claude Code hakkında temel bilgi için Claude Code sayfasına bakabilirsiniz (link: Claude Code).

Neden Claude Code Django işleri için uygundur?

Django projeleri güçlü kurallara ve tekrar eden desenlere sahiptir: model tanımları, migration dosyaları, serializer’lar, view’lar, URL yönlendirmeleri ve testler. Claude Code bu desenleri tanır; models.py içine yeni bir model eklemek, admin.py kaydı oluşturmak veya DRF serializer yazmak gibi işlerde projedeki mevcut kod stilini örnek alarak tutarlı çıktı üretir. Ayrıca python manage.py makemigrations gibi komutları sizin adınıza çalıştırıp sonucu görebilir; bu da migration oluşturma ve test döngüsünü kısaltır. Öte yandan, Django’nun özgün tuzakları (N+1 sorgular, transaction yönetimi, migration çakışmaları) konusunda denetim gerekir; ajan her zaman doğru kararı vermez. Yine de rutin işlerin büyük bölümünü üstlenebilir.

Django projesini ajan için hazırlama ve CLAUDE.md

Claude Code, proje kökündeki CLAUDE.md dosyasını okur ve buradaki talimatları her oturumda uygular. Django projeniz için bu dosyaya komutları, klasör düzenini ve Django’ya özgü kuralları yazın. Kısa ve net tutun; ajanın karar verirken başvuracağı bir sözleşme gibi düşünün. Aşağıdaki örnek, tipik bir Django + DRF + pytest kurulumu için gerçekçi bir başlangıçtır:

# CLAUDE.md

## Komutlar
- Test: `pytest` (pytest-django, `--reuse-db` kullanma)
- Lint: `ruff check .`
- Format: `black .`
- Sunucu: `python manage.py runserver`
- Migration: `python manage.py makemigrations && python manage.py migrate`

## Klasör düzeni
- `config/` proje ayarları ve ana URL'ler.
- Her Django uygulaması `apps/<app_name>/` altında.
- `templates/` global şablonlar; uygulama şablonları kendi `templates/<app_name>/` dizininde.
- Statik dosyalar `static/` altında, app bazlı ayrıştır.

## Django kuralları
- Model değişikliklerinde her zaman `makemigrations` çalıştır; migration dosyalarını elle düzenleme.
- Queryset'lerde N+1'e dikkat et; gerekli `select_related` ve `prefetch_related` ekle.
- DRF serializer'larında `fields = "__all__"` kullanma; alanları açıkça listele.
- Her model için `__str__` ve `get_absolute_url` tanımla.
- Transaction gerektiren işlemlerde `transaction.atomic` kullan.
- Testler `tests/` klasöründe, her uygulama kendi testlerini içerir; `pytest.mark.django_db` ile işaretle.

Bu dosyayı sürüm kontrolüne ekleyin; ekip arkadaşlarınız da aynı kuralları kullanır. Daha fazla pratik ipucu için Claude Code en iyi pratikler yazısına bakabilirsiniz (link: Claude Code en iyi pratikler: uygulamalı kontrol listesi).

Çalışma döngüsü: planla, küçük adımlar at, test et, diff’i incele

Claude Code ile Django’da verimli çalışmanın anahtarı, büyük görevleri tek seferde istememektir. Şu döngüyü izleyin:

  1. Plan isteyin: Ajanın önce ne yapacağını maddeler halinde açıklamasını isteyin. Örneğin: “Şu view’ı optimize etmeden önce hangi dosyaları değiştireceğini ve hangi sorguları ekleyeceğini planla.” Bu, yanlış yöne gitmeyi önler.
  2. Küçük adım: Model ekleme, serializer yazma veya test oluşturma gibi tek bir mantıksal değişikliği isteyin.
  3. Testleri çalıştırın: Her adımdan sonra pytest veya ilgili komutu ajanın çalıştırmasını isteyin. Çıktıyı birlikte yorumlayın.
  4. Diff’i gözden geçirin: git diff ile yapılan değişiklikleri inceleyin; özellikle migration dosyalarını, settings.py değişikliklerini ve import’ları kontrol edin.

İşte tipik Django görevleri için örnek istekler (her biri Türkçe):

  • “Yeni bir Order modeli ekle; Customer ile ForeignKey, status alanı choices, total DecimalField(max_digits=10, decimal_places=2). Migration’ı oluştur ve testini yaz.”
  • “OrderListAPIView için DRF serializer ve view yaz; queryset’i select_related('customer') ile optimize et, permission_classes IsAuthenticated olsun.”
  • “Order modeline cancel metodu ekle; stok miktarını geri yüklesin, transaction.atomic kullansın. İlgili pytest testini yaz.”
  • “Mevcut Product modelindeki price alanını DecimalField(max_digits=10, decimal_places=2) yap; migration’ı oluştur ve mevcut verileri koruyacak şekilde düzenle.”
  • “Bu view’daki N+1 sorgusunu bul ve prefetch_related ile düzelt; değişiklikleri açıklamalı olarak göster.”

Django’da hangi işler iyi gider, nerelerde dikkat gerekir?

Claude Code özellikle şu işlerde başarılıdır: yeni model ve migration oluşturma, admin.py kayıtları, basit DRF serializer/view/url üçlüsü, manage.py komutları için management command yazma, import hatalarını düzeltme, verilen şartnameye göre test yazma ve küçük refactor’lar. Ayrıca mevcut koddan desen çıkararak yeni endpoint’ler ekleyebilir.

Ancak şu alanlarda yakından izleyin:

  • Migration çakışmaları: Birden fazla branch’ten gelen migration’lar çakışabilir; ajan bazen yanlış bağımlılık sırası üretebilir. Migration dosyalarını kabul etmeden önce python manage.py makemigrations --check çalıştırın.
  • ORM performansı: Ajan varsayılan olarak N+1 problemi yaratabilir veya gereksiz prefetch_related ekleyebilir. Sorgu sayısını django-debug-toolbar veya test assert’leriyle doğrulayın.
  • Transaction ve race condition: select_for_update, transaction.atomic veya F() ifadeleri gerektiren durumlarda ajan basit ama hatalı kod önerebilir. Finansal veya stok işlemlerinde kodu mutlaka gözden geçirin.
  • Settings ve güvenlik: Ajan bazen DEBUG=True gibi ayarları değiştirebilir veya SECRET_KEY’i yanlışlıkla commit’leyebilir. git diff’te config/settings.py değişikliklerini tek tek kontrol edin.
  • Django sürüm uyumu: Ajan, eski veya yeni Django sürümlerine ait API’leri karıştırabilir. Projenizin requirements.txt veya pyproject.toml içindeki Django sürümünü CLAUDE.md’de belirtin.

Aşağıdaki tablo, sık yapılan görevler için doğrudan kullanabileceğiniz istekleri özetler:

GörevClaude Code’a örnek istek
Model + migration“Product modeline slug alanı ekle, unique olsun, migration oluştur.”
DRF endpoint“Bu model için ListCreateAPIView ve ModelSerializer yaz, permission_classes IsAuthenticated olsun.”
Test ekleme“Şu view için pytest-django ile başarılı ve başarısız senaryoları yaz.”
Optimizasyon“Bu view’daki sorgu sayısını azalt, eksik select_related/prefetch_related ekle.”

Test etme ve doğrulama

Django projelerinde testler, ajanın ürettiği kodun doğruluğunu kanıtlamanın en güvenilir yoludur. Claude Code’a her değişiklikten sonra pytest çalıştırmasını söyleyin; test çıktısındaki hataları ajanın kendisinin düzeltmesini isteyin. pytest-django kullanıyorsanız, test veritabanı için hızlı olması açısından --reuse-db yerine temiz bir SQLite kullanın; CI’da PostgreSQL çalıştırmadan önce yerel doğrulama yeterlidir. Ayrıca python manage.py check ve ruff check . komutlarını düzenli çalıştırın. Ajanın git diff çıktısını göstermesini isteyip yalnızca onayladığınız değişiklikleri commit’leyin. Migration’lar için python manage.py makemigrations --check --dry-run ile eksik migration olmadığını doğrulayın.

Aynı Django projesinde birden fazla ajanı AgentVera ile çalıştırma

Django projeleri genellikle paralel geliştirilen birden çok özellik barındırır. AgentVera masaüstü uygulaması, Claude Code gibi komut satırı ajanlarını aynı pencerede kendi gerçek terminal panellerinde çalıştırır; her ajan kendi git worktree’sinde çalışarak birbirinin dosyalarını ezmez. Django için en kritik fayda, migration ve model değişikliklerini izole edebilmektir. Ajanın sırası bittiğinde ikinci bir model kodu otomatik inceler; bulgular dosya:satır olarak bağlantılıdır, böylece yanlış select_related veya eksik migration kolayca yakalanır. Ayrıca her turun anlık görüntüsü alınır ve tek tıkla geri alınabilir; yanlış bir migration sonrası hızlı toparlanırsınız. Token bütçeleri de ajan başına, tur başına ve günlük olarak sınırlandırılabilir. Daha fazla bilgi için AgentVera nasıl kullanılır sayfasına bakın (link: AgentVera nasıl kullanılır: ilk proje, ajanlar ve ızgara).

Sonuç

Claude Code, Django projelerinde doğru kurulum ve denetimle ciddi zaman kazandırır. CLAUDE.md ile proje kurallarını netleştirin, küçük adımlarla ilerleyin, testleri ve diff’leri sürekli doğrulayın. Özellikle model, serializer ve test yazımında ajanı güvenle kullanabilir; migration ve transaction gibi kritik alanlarda ise son kararı kendiniz verin. Birden fazla ajanı paralel çalıştırmak gerektiğinde AgentVera gibi bir ızgara, işleri izole tutarak Django geliştirmeyi ölçeklendirir.

Sık sorulanlar

Claude Code bir Django projesinde nasıl kullanılır?

Proje kök dizininde terminalden claude komutunu çalıştırın. Ajan, proje dosyalarını okur ve sizin verdiğiniz görevleri yerine getirir; önce CLAUDE.md dosyasını okuyarak proje kurallarını öğrenir.

Claude Code Django migration’ları yönetebilir mi?

Evet, model değişikliklerinde python manage.py makemigrations komutunu çalıştırıp migration dosyalarını oluşturabilir. Ancak migration çakışmaları ve veri dönüşümleri gibi karmaşık durumlarda üretilen kodu dikkatle incelemeniz gerekir.

Claude Code DRF serializer ve view yazabilir mi?

Evet, Django REST framework için ModelSerializer, view ve URL yönlendirmelerini projedeki desenlere uygun şekilde üretebilir. Yine de izinler, sorgu optimizasyonu ve alan seçimi konularında ince ayar yapmanız gerekebilir.

Claude Code Django testlerini çalıştırabilir mi?

Evet, pytest veya python manage.py test komutlarını çalıştırıp çıktıyı yorumlayabilir ve hataları düzeltebilir. Test veritabanı yapılandırması ve izolasyon için projenizin test komutlarını CLAUDE.md içinde netleştirmeniz faydalı olur.

Ajanlarını bir masaya topla.

AgentVera’yı ücretsiz indir; kurulu CLI’ların hazır.

Diğer Claude Code rehberleri

Django için diğer ajanlar