28 Temmuz 2013 Pazar

Flask Nedir ? Nasıl Kullanılır ?


Flask; Python programlama dili ile yazılmış, web uygulamaları yazmak için kullanılan bir microframework. Yani çekirdeği basit ve geliştirilebilir.

Bir webapi yazarken framework ile zaman harcamak istemiyorsak, microframework kullanabiliriz.

Flask kurulumu oldukça basit, zaten depoda var. "pip install flask" , "apt-get install flask" ya da "easy_install flask" komutları ile artık Flask'ı kullanabiliriz.

Küçük bir örnekle Flask'ı daha iyi anlayalım.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()


Hello.py dosyasına yukarıdaki küçük kod parçasını yazıyoruz. python hello.py diyerek kodu çalıştırıyoruz. Bakıldığında da direk anlaşılan bir uygulama zaten.

Yazılan uygulamalar 5000.portta çalışıyor.

Şimdik basit bir kişisel blog sayfası nasıl yazılır buna bakalım.
Kodlara buradan ulaşabilirsiniz.

Öncelikle, proje dizinini ve içine html dosyaları için 'template' , css kalıplarının bulunması için de 'static' dizinlerini oluşturalım.

/flask
   /template
   /static

 Sonra, veritabanı için schema.sql dosyasında bir şema oluşturalım. Örnekte id, title, text diye 3 başlık var.

Sonraki adımda, uygulamaların olacağı flaskr.py dosyasını oluşturuyoruz. Buraya flaskı import ettikten sonra ayar dosyaları için küçük bir yapılandırma yazıyoruz.

Daha sonra veritabanında şemayı oluşturmak için aşağıdaki komutu kullanıyoruz.

sqlite3 /tmp/flaskr.db < schema.sql 

Veritabanını ilklendirmek için flaskr.py'ye "from contextlib import closing" fonksiyonunu ekleyip init_db işlevini yazıyoruz. Konsoldan Python'u çalıştırıp init_db yi import ettiğimizde çalışıyor olduğunu görürüz.

>>> from flaskr import init_db
>>> init_db()
  


Artık veritabanı sorgu uygulamaları ve view uygulamalarını yazabiliriz. Uygulamalar için @app.route diyerek portta hangi yol ile çalışacağını yazıyoruz.
@app.route(/yol) gibi. Çalışacak fonksiyonu ve döndüreceği değeri de ekleyip uygulamayı tamamlayabiliriz.

Son olarak da html sayfalarını oluşturup python flaskr.py diyerek 5000.porttan blogumuzu görebiliriz.



Hiç yorum yok:

Yorum Gönder