Python ile Web Geliştirme Django ve Flask Rehberi
Python programlama diliyle web geliştirme nasıl yapılır? Django ve Flask framework’leriyle dinamik web siteleri ve API’ler geliştirmek isteyenler için detaylı bir başlangıç rehberi.
Python ile Web Geliştirme: Django ve Flask Rehberi
Python yalnızca veri bilimi ya da otomasyon için değil, aynı zamanda güçlü ve güvenli web uygulamaları geliştirmek için de oldukça ideal bir programlama dilidir. Günümüzde birçok web geliştirici, büyük ölçekli projelerden kişisel bloglara kadar çeşitli uygulamaları Python kullanarak geliştiriyor.
Python ile web geliştirme denince akla gelen ilk iki framework ise Django ve Flask oluyor. Bu yazıda her iki framework’ün temel farklarını, avantajlarını ve kullanım senaryolarını detaylı şekilde ele alacağız. Ayrıca Python ile basit bir web uygulamasının nasıl geliştirildiğine dair örnek bilgiler de paylaşacağız.
Neden Python ile Web Geliştirme?
- Kolay öğrenilebilir sözdizimi: Python’un temiz ve anlaşılır yapısı, web geliştirmeye hızlı başlamayı sağlar.
- Geniş kütüphane desteği: Web geliştirme için binlerce açık kaynak kütüphane ve modül mevcuttur.
- Topluluk desteği: Stack Overflow, Reddit ve GitHub gibi platformlarda Python’a dair milyonlarca çözüm ve örnek kod bulabilirsiniz.
Web Geliştirmede Django Nedir?
Django, Python diliyle yazılmış, açık kaynaklı ve yüksek seviyeli bir web uygulama çatısıdır (framework). “Batteries included” yani her şey dahil yaklaşımıyla bilinir. Django ile sıfırdan bir web uygulaması oluşturmak için ayrı ayrı bileşenlerle uğraşmanıza gerek kalmaz. Kullanıcı doğrulama, admin paneli, ORM gibi birçok yapı hazır olarak gelir.
Django’nun Başlıca Özellikleri:
- Hazır admin paneli
- Güçlü veri tabanı ORM desteği
- Gelişmiş form ve güvenlik sistemi
- Çok katmanlı yapı (MTV - Model, Template, View)
Ne Zaman Django Kullanılmalı?
- Büyük ölçekli projelerde
- Kullanıcı yönetimi ve güvenlik önlemleri gerekiyorsa
- Hazır admin paneli gerekiyorsa
- Hızlı prototipleme isteniyorsa
Web Geliştirmede Flask Nedir?
Flask, Django’ya göre daha hafif, esnek ve minimal bir framework’tür. Mikroframework olarak bilinen Flask, temel ihtiyaçları karşılayacak bir iskelet sunar. Geliştirici, istediği modülleri kendisi entegre ederek uygulamayı şekillendirir.
Flask’ın Başlıca Özellikleri:
- Minimal yapı, düşük dosya karmaşıklığı
- Esnek yönlendirme (routing) sistemi
- Jinja2 şablon motoru
- Kolay genişletilebilirlik
Ne Zaman Flask Kullanılmalı?
- Küçük ve orta ölçekli projelerde
- API geliştirme için
- Minimal ve özel yapı isteyen projelerde
Django ve Flask Karşılaştırması
| Özellik | Django | Flask |
|---|---|---|
| Öğrenme Eğrisi | Orta | Düşük |
| Modülerlik | Düşük | Yüksek |
| Hazır Bileşenler | Çok fazla | Çok az |
| Performans | Yüksek (özellikle büyük projelerde) | Yüksek (özellikle mikro servislerde) |
| Topluluk | Çok büyük | Geniş |
Python ile Basit Web Uygulaması (Flask Örneği)
Aşağıda Python ve Flask kullanarak yapılabilecek basit bir “Merhaba Dünya” web uygulaması örneği verilmiştir:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Merhaba Python Web!"
if __name__ == "__main__":
app.run(debug=True)
Bu kodu çalıştırmak için terminalde:
pip install flask
python app.py
komutlarını çalıştırmanız yeterlidir. Ardından http://localhost:5000 adresinden uygulamanıza erişebilirsiniz.
Django ile Uygulama Geliştirme Adımları
- Django’yu yükleyin:
pip install django - Proje oluşturun:
django-admin startproject myproject - Sunucuyu başlatın:
python manage.py runserver - İlk uygulamanızı oluşturun:
python manage.py startapp blog
Django ile gelen admin paneli sayesinde kullanıcı ekleme, veri yönetimi gibi işlemleri hızlıca gerçekleştirebilirsiniz.
Python ile Web API Geliştirme
Python, RESTful API geliştirmek için harika bir altyapı sunar. Flask ve Django Rest Framework (DRF) bu iş için en popüler seçeneklerdir. Özellikle mobil uygulamalar veya JavaScript tabanlı frontend sistemleri (React, Vue) ile entegre çalışmak isteyenler için önemlidir.
Basit Flask API Örneği:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route("/api")
def api():
return jsonify({"mesaj": "Merhaba API!"})
Python ile web geliştirme yapmak istiyorsanız, Django ve Flask sizin için güçlü iki seçenektir. Django, büyük ve kapsamlı projeler için; Flask ise esnek ve hafif uygulamalar için idealdir. Hangi framework’ü kullanırsanız kullanın, Python’un sadeliği ve güçlü ekosistemi sizi hızla ileri taşıyacaktır.
Python web geliştirme dünyasına adım atarak hem frontend hem de backend süreçlerini yönetebilir, dinamik web siteleri ve API servisleri oluşturabilirsiniz. İlk adımı attıysanız, gerisi sadece kod yazmaya kalıyor!