/DJANGO-KURULUMU
Django Kurulumu

Django Kurulumu

Bu eğitimde Django projesinin nasıl kurulacağı ve oluşturulacağı hakkında adım adım bir kılavuz edineceksiniz.

Django nedir? Ne için Kullanılır?

Django, ücretsiz ve açık kaynaklı Python web frameworklerinden biridir. Django, MVC-MVT mimari modelini takip eder ve kullanıcıların güvenli, temiz ve bakımı kolay yapılabilir web siteleri oluşturmasına olanak tanır. Hızlı olması, tonlarca paket içermesi, güvenli, ölçeklenebilir ve çok yönlü olması ile diğer çerçevelerden ayrılır.

Django, ünlü basit, esnek ve nispeten öğrenmesi kolay Python programlama dilinde yazılmış ücretsiz, açık kaynaklı, üst düzey bir frameworktür. İlk olarak 2005 yılında piyasaya sürüldü ve hem yeni başlayanlar hem de ileri düzey kullanıcılar için kolay olması nedeniyle her yıl binlerce programcı tarafından kullanılıyor. Aynı zamanda, bu sağlam ve etkili framework, dünyanın en büyük web sitelerinden bazıları tarafından kullanılmaktadır. Çok popüler ve en önemlisi aktif geliştirme aşamasında olan bu framework için hangi işletim sistemini kullandığınız da önemli değil (Windows, Mac, Linux) Django için hepsi aynı.


Vs Code Django kurulumu için:

Bu yazımızda Visual Codeye Django kurulum yapacağız. 

Daha önceden Python ve Vs kurulumunu yapmış olduğumuzu varsayıp direk django kurulumunu ve ilk başta neler yapabileceğimize göz atacağız.

Vs Codeyi açıp Terminal ekranını açtıktan sonra veya direk bilgisayarımızdan cmd yi açıp python yazdıktan sonra pip django install linkini yazıp kurulum yapmamız lazım


Django pip kurulum linki: pip install Django

Bu kurulum django 5.2 Vs Code pip kütüphanesi eklenmiş olacaktır.

Bu Kurulum ile Birlikte Gelen Paketler:

⇒ asgiref 3.8.1

 • ASGI, Python asenkron web uygulamaları ve sunucularının birbirleriyle iletişim kurması için bir standarttır ve WSGI'nin asenkron halefi olarak konumlandırılmıştır. 

⇒ Django 5.2

⇒ django-js-asset 3.1.2

• Gerekli JavaScript dosyalarını tanımlayan bir tuple.

⇒ sqlparse 0.5.3

• Python için doğrulamayan bir SQL ayrıştırıcısıdır. SQL ifadelerini ayrıştırma, bölme ve biçimlendirme desteği sağlar.

⇒ tzdata 2025.2

Bu, IANA saat dilimi veritabanı için derlenmiş ikili dosyaları içeren bir Python paketidir 


Kurulu olan Django Versiyonun Kontrol etmek için: 

python -m pip install django==version

Django kurulumu yaptıktan sonra terminal ekranında bizlere kolaylık olması açısından bazı komutlar tanımlanmıştır.Bu komutlar;

Bu komutları Görebilmek için: django-admin 

dbshell:

  •  Projemizdeki belirtilen veritabanına bağlanmak için kullanılır.
python manage.py dbshell

diffsettings: 

  • Setting.py dosyamızla ile Django'nun varsayılan ayarı(django.conf.global_settings) arasındaki farkı gösterir.
python manage.py diffsettings
DEBUG = True
LANGUAGE_CODE = 'tr'
TIME_ZONE = 'Europe/Istanbul'

dumpdata:

  • Veritabanındaki mevcut verileri JSON formatında dışarıya aktarır.
python manage.py dumpdata > yedek.json
python manage.py dumpdata auth.User > users.json  # sadece User modelini alır

flush:

  • Veri tabanındaki tüm verileri siler ve yeniden başlatır.Ancak tablolar durur, sadece içleri boşaltılır.
python manage.py flush

  ⚠️ Uyarı: Bu işlem veritabanındaki tüm veriyi kalıcı olarak siler. Genellikle geliştirici ortamında kullanılır.

inspectdb:

  • Var olan bir veritabanı yapısını okuyup, ona uygun Django models kodlarını oluşturur. Veri tabanından model üretmek içindir.
python manage.py inspectdb > models.py

  ⚠️ Uyarı: Ters mühendislik için kullanılır.Eski bir veritabanını Django ile erişim sağlamak için

 loaddata:

  • dumpdata ile dışarıya aktarılan JSON dosyasını loaddata ile tekrardan veri tabanına yüklemek için kullanılır.
python manage.py loaddata yedek.json

makemessages:

  • Uluslararasılaştırma (i18n) için .po dosyalarını oluşturur. Proje içinde çeviriye açık metinleri tarar.
python manage.py makemessages -l tr

  Açıklama: -l dili belirtir (örnek: tr, en, de).

Devamında kullanılacak olan komut

python manage.py compilemessages

makemigrations: 

  • Django'da modellerde (models.py) yaptığınız değişiklikleri tespit eder ve bu değişiklikleri veritabanına uygulamaya hazır "migration" (göç) dosyaları olarak oluşturur.

Örnek :

 python manage.py makemigrations

migrate:

  • Migration dosyasını çalıştırarak veritabanını günceller.

Örnek :

 python manage.py migrate

optimizemigration:

  • Geçici ve karmaşık migration dosyalarını optimize eder (gereksiz olanları birleştirerek sadeleştirir). Django 5.0+ sürümünde yer alır.
python manage.py optimizemigration myapp

sendtestemail:

  • Ayarlarınızda tanımlı e-posta sistemiyle test e-postası gönderir.
python manage.py sendtestemail info@mkarabulut.com.tr


shell:

  • Django ortamını yükleyerek etkileşimli Python kabuğu (Python shell) başlatır.
python manage.py shell


showmigrations:

  • Mevcut migration dosyalarını ve uygulanıp uygulanmadıklarını listeler.
python manage.py showmigrations
python manage.py showmigrations myapp

sqlflush:

  • Veritabanını sıfırlamak için gereken SQL komutlarını gösterir (kendisi çalıştırmaz).
python manage.py sqlflush

sqlmigrate:

  • Migration dosyasını SQL’e çevirerek çıktısını verir.
python manage.py sqlmigrate myapp 0001

sqlsequencereset:

  • ID gibi otomatik sayacı olan alanlar (auto-increment) için veritabanı sıralayıcılarını sıfırlamak üzere SQL komutları üretir.
python manage.py sqlsequencereset myapp

squashmigrations:

  • Birden fazla migration dosyasını birleştirerek tek dosya haline getirir. Kod sadeleştirme amacıyla kullanılır.
python manage.py squashmigrations myapp 0001 0005

startapp:

  • Yeni bir Django uygulaması (modül) oluşturur.
python manage.py startapp blog

startproject:

  • Yeni bir Django projesi başlatır.
django-admin startproject myproject

test:

  • Uygulama içindeki test dosyalarını çalıştırır (tests.py veya tests/ klasörü).
python manage.py test
python manage.py test myapp.tests

Genel olarak django nedir kısa açıklama yaptıktan sonra, kurulumu ve kurulum ile gelen paketlerden bahsettik. Django-admin shell ekranında bize sunduğu kodlar ve ne işe yaradıkalrını açıkladım.