Flask Nedir ve Neden Tercih Edilir?
Merhaba! Bugün, modern web uygulamalarının olmazsa olmazı olan API’leri geliştirmek için Python’un popüler framework’lerinden birisi olan Flask ile tanışacağız. Eğer bir web uygulaması geliştiriyorsanız ya da veri paylaşımını kolaylaştırmak istiyorsanız, bir API oluşturmanız gerekebilir. Ama endişelenmeyin, bu iş o kadar karmaşık değil. Flask ile API geliştirmek, her seviyedeki geliştirici için anlaşılabilir ve basit bir süreçtir. O zaman hadi başlayalım!
Flask, Python ile yazılmış hafif, esnek ve modüler bir web framework’üdür. Flask’ın en büyük avantajlarından biri, hızlıca çalışmaya başlayabilmeniz için gereksiz karmaşıklıklardan arındırılmış olmasıdır. Bu özellik, özellikle başlangıç seviyesindeki geliştiriciler için oldukça cazip.
Adım 1: Flask'ı Kurmak
İlk adım, Flask’ı bilgisayarınıza kurmak. Flask, Python için bir paket olduğundan, kurulum işlemi son derece basittir. Eğer sisteminizde Python kuruluysa, pip aracılığıyla Flask’ı kolayca kurabilirsiniz. Terminal veya komut satırınızı açın ve aşağıdaki komutu yazın:
pip install flask
Bu komut ile Flask’ı kurmuş olacaksınız. Şimdi Flask kullanmaya hazırız!
Adım 2: İlk Flask API Uygulamanızı Oluşturmak
Flask’ı kurduktan sonra, hemen basit bir API oluşturmaya başlayalım. Örneğin, bir “merhaba dünya” uygulaması yapalım. Bunun için yeni bir Python dosyası oluşturun (örneğin `app.py`) ve içine aşağıdaki kodu yazın:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return "Merhaba Dünya!"
if __name__ == '__main__':
app.run(debug=True)
Burada ne yapıyoruz? İlk olarak Flask’ı import ediyoruz. Sonrasında, `Flask(__name__)` ile bir Flask uygulaması oluşturuyoruz. `@app.route('/')` dekoratörü, '/' adresine gelen istekleri karşılamak için `hello_world` fonksiyonunu çağırmamızı sağlıyor. Bu fonksiyon da “Merhaba Dünya!” mesajını döndürüyor.
Eğer terminal üzerinden bu dosyayı çalıştırırsanız:
python app.py
Web tarayıcınızda `http://127.0.0.1:5000/` adresine giderek “Merhaba Dünya!” mesajını görebilirsiniz.
Adım 3: Parametrelerle Çalışmak
Artık temel bir Flask uygulamanız var. Peki, kullanıcıdan veri alarak daha dinamik hale getirebilir miyiz? Tabii ki! Flask, URL parametreleri ile verileri almak oldukça basittir. Aşağıdaki kod, URL üzerinden gelen bir ismi alarak kişiye özel bir selam vermemizi sağlar.
@app.route('/hello/')
def hello_name(name):
return f"Merhaba {name}!"
Bu kodla, `http://127.0.0.1:5000/hello/Adınız` şeklinde bir URL oluşturabilirsiniz. Web tarayıcınızda bu URL’yi açtığınızda, girilen isme göre dinamik bir selam alırsınız.
Adım 4: JSON Veri Göndermek
Flask API'lerinde sıkça karşılaşacağınız şeylerden biri de JSON veri gönderimi ve alımıdır. API'ler, genellikle istemci ile sunucu arasında veri alışverişi yapar. Flask ile bir JSON yanıtı döndürmek için şu kodu kullanabilirsiniz:
from flask import jsonify
@app.route('/api/data')
def api_data():
data = {"ad": "Ali", "soyad": "Yılmaz", "yas": 25}
return jsonify(data)
Bu kod, bir JSON veri yapısı döndüren bir API endpoint’i oluşturur. Eğer bu URL'yi tarayıcıda açarsanız, aşağıdaki gibi bir JSON cevabı alırsınız:
{
"ad": "Ali",
"soyad": "Yılmaz",
"yas": 25
}
Adım 5: Veritabanı ile Çalışmak
Flask ile basit bir API oluşturduktan sonra, gerçek dünyada veri tutmamız gereken durumlarla karşılaşacağız. Flask, SQLite gibi hafif veritabanları ile entegrasyonu oldukça kolaydır. Bu adımda, veritabanı bağlantısı kurarak Flask API’mize dinamik veri ekleyebiliriz.
Veritabanı ile bağlantı kurmak için aşağıdaki gibi bir yapı kullanabilirsiniz:
from flask import Flask, request
import sqlite3
app = Flask(__name__)
def get_db_connection():
conn = sqlite3.connect('veritabani.db')
conn.row_factory = sqlite3.Row
return conn
@app.route('/api/kullanici', methods=['GET'])
def get_kullanici():
conn = get_db_connection()
kullanicilar = conn.execute('SELECT * FROM kullanicilar').fetchall()
conn.close()
return jsonify([dict(kullanici) for kullanici in kullanicilar])
Bu örnek, bir SQLite veritabanına bağlanarak kullanıcıları listeleyen bir endpoint oluşturur. Flask, veritabanı ile veri işlemek için oldukça kullanışlıdır ve bu tarz uygulamalarda sıklıkla kullanılır.
Sonuç
Ve işte karşınızda basit bir Flask API! Flask, minimal yapısı ve kolay kullanımı ile API geliştirmeyi oldukça basit ve hızlı hale getiriyor. Bu yazıda temel API yapı taşlarını öğrendiniz ve uygulamalı örneklerle daha derinlemesine öğrendiniz.
Flask ile API geliştirmek, sadece birkaç satır kod ile başlamak ve kendi ihtiyaçlarınıza göre özelleştirmek için harika bir yoldur. Eğer Python diline hakimseniz, Flask ile API geliştirmek oldukça eğlenceli ve öğretici olabilir.
Sonraki Adımlar
Artık temel API’nizi geliştirdiniz, ancak gerisi sizin hayal gücünüze kalmış! Oturum yönetimi, kimlik doğrulama, yetkilendirme gibi daha ileri düzey özellikler ekleyebilirsiniz. Flask ile yapabileceğiniz şeyler sınırsızdır.
Açıkçası, Flask ile her projede harika sonuçlar almanız mümkün. Herhangi bir sorunuz varsa, yorumlarda paylaşmaktan çekinmeyin. Flask ile kod yazmaya devam edin ve geliştirmeye başlamak için gereken tüm araçlar artık cebinizde!