Routes ve View Fonksiyonları

Web tarayıcıları gibi istemciler web sunucusuna istek gönderir ve bu sunucuda gelen isteği uygulama nesnesine döndürür (initialization kısmında da bahsettiğimiz app nesnesi). Flask uygulama nesnesinin istenen her URL için hangi kodu çalıştırması gerektiğini bilmesi gerekir, böylece URL'lerin Python fonksiyonlarıyla eşlenmesi sağlanır. Bir URL ile onu çalıştıran fonksiyon arasındaki ilişki route (rota) olarak adlandırılır. Bir Flask uygulamasında route tanımlamanın yolu, uygulama nesnesi tarafından oluşturulan app.route dekoratörüdür. Bu app.route dekoratörü kullanılarak bir route bildirimi şu şekilde yapılmaktadır.

@app.route('/')
def index():
    return '<h1>Hello World!</h1>'

Dekoratörler Python'un standart bir özelliğidir. Dekoratörlerin genel kullanımı, belirli olaylar meydana geldiğinde çağırılacak fonksiyonları kaydetmektir.

Önceki örnek index() fonksiyonunu uygulamanın root URL'nin çalıştırıcısı olarak kaydeder. View fonksiyonlarını kaydetmek için app.route tercih edilen yöntem olsada, Flask ayrıca uygulama routelarını app.add_url_rule() yöntemiyle ayarlamak için daha geleneksel bir yolda sunar. En temel haliyle 3 parametre alır: URL, bitiş noktası adı ve view fonksiyonu. Takip eden örnek, bir index () fonksiyonunu kaydetmek için daha önce gösterilene eşdeğer bir şekildeapp.add_url_rule () yöntemini kullanır.

def index():
    return '<h1>Hello World!</h1>'

app.add_url_rule('/', 'index', index)

Uygulama URL'lerini çalıştıran index() gibi fonksiyonlar view fonksiyonları olarak adlandırılır. Uygulama www.example.com domain adıyla ilişkili bir sunucuda deploy edilseydi, tarayıcıda http://www.example.com/ URL'ine gidildiğinde sunucu üzerinde index() çalıştırılmak için tetiklenmiş olurdu. Bu view fonksiyonunun dönüş değeri ise istemcinin aldığı response olmaktadır (yanıt).

Last updated