Request Dispatching

İsteğin Aktarılması

Uygulama bir istemciden istek aldığında, hizmet vermek için hangi view fonksiyonunu çağırması gerektiğini bulması gerekir. Flask bunun için uygulamanın URL haritasında, istekte verilen URL'i arar ve bunları çalıştıran view fonksiyonlarıyla eşlenmesini sağlar. Flask, bu haritayı app.route dekoratöründe sağlanan verileri kullanarak oluşturur.

URL haritasının nasıl gözüktüğünü görmek için, önceden oluşturulmuş hello.py gibi bir uygulamanın uygulama nesnesinden app.url_map koduyla python shellinden incelenebilir. (virtual environment ın aktif olduğundan emin olun)

(venv) $ python >>> from hello import app >>> app.url_map Map( [<Rule '/' (HEAD, OPTIONS, GET) -> index>, <Rule '/static/<filename>' (HEAD, OPTIONS, GET) -> static>, <Rule '/user/<name>' (HEAD, OPTIONS, GET) -> user>] )

/user/<name> route'ları, uygulamadaki app.route dekoratörleri tarafından tanımlanmıştır. /static/<filename> route'u ise statik dosyalara erişim sağlamak için Flask tarafından eklenen özel bir route'tur. (Statik dosyalar hakkında templates kısmında daha fazla bilgi edineceğiz)

URL haritasında gösterilen (HEAD, OPTIONS, GET), routelar tarafından çalıştırılan istek metodudur. Bu HTTP tanımlaması, tüm isteklerin bir metotla çalıştırıldığını, istemcinin sunucudan ne yapmasını istediğini gösterir. Flask her URL'e metotlar ekler ve böylece aynı URL'e gönderilen farklı istek metotları farklı view fonksiyonları tarafından çalıştırılabilir. HEAD ve OPTIONS metotları Flask tarafından otomatik olarak yönetilir. Yani şöyle söylenebilir, bu uygulamadaki URL haritasındaki üç route da, GET metoduna bağlıdır.(Bir istemci web sayfası gibi bir bilgi istemek istediğinde kullanılan GET metottur). Diğer istek metotları için routeların nasıl oluşturulduğunu web formlarında göreceğiz.

Last updated