Featured image of post Flask Hayat Kurtarir

Flask Hayat Kurtarir

![Flask](http://www.unixstickers.com/image/cache/data/stickers/flask/Flask.sh-600x600.png){:height="400px" width="400px"}
## Flask Micro Framework Web Catisi

Öncelikle Fremework anlamında bu yapı oldukça basit ve creative mekanizmasına sahip değil. Yani Django, Rails vb. çatılar gibi size hazır bir klasör yapısı sunmuyor. Bu beni ilk aşamada yoruyordu. Çünkü ben Django ile birşeylere başladığım için hazır yapının rahatlığına alışmıştım. Sonradan terminal ile yakınlaşınca bu durumdan kurtuldum. Kolaya kaçmaya gerek yok! Herşey sizin hayal gücünüze ve kafanızdaki dizine bağlı! Sorun yok halledebilirsiniz. :)

1
pip install flask

Simdi basit bir linux komutu ile kendi catimizi olusturma zamani!

1
2
3
4
5
6
7
8
mkdir ortamdizini
cd ortamdizini
virtualenv -p python3 ./sanalortam
source ./sanalortam/bin/activate

mkdir projedizini
cd projedizini
touuch app.py

Genelde flask için oluşturulan yapılarda dosya ismi app.py oluyor. Çünkü sistem büyüdükçe bazı yeni ‘.p’ dosyalar oluşturmamız gerekecek. Model dosyası veya views gibi dosyalar. Şimdilik bu yapıların hepsi app.py içinde olacak tabi; çok kafa karıştırmaya gerek yok. :)

1
2
3
4
5
6
7
8
9
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Merhaba Dunya!'

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

Şimdi Web Yapısını Koşalım!

Gördüğünüz gibi çok çok basit bir şekilde web çatısını oluşturduk. Terminalden python app.py komutuyla artık komutumuz koşmaya hazır! Burada iki satıra dikkat edelim. Birincisi @app.route('/') ile ürl üzerinden gelen ‘routing’ kontrolü yapıyoruz. Yani Linklenme yapısında route bize yardımcı olan fonksiyon görevi görüyor. Şimdilik bunu detaylandırmayalım. Sonraki içeriklerde detaylandırmaya çalışacağım.

İkinci dikkat edilmesi gereken satır ise if __name__ == "__main__": bu yapı. Burada python app.py dediğimizde bir paremetre vb. şeyler girmediğimiz için default değer olarak görünüyor. İlerleyen zamanlarda veritabanı gibi şeyler işin içine girdiğinde: bazı fonksiyonla buraya gelecek ve kontrol amaçlı denetlenecek. IF sorgusu ile app.run() yapmaya ne gerek vardı? İşte dediğim gibi suan pek gerek yok gibi görünsede sonradan bu yapıya ihtiyaç duyuluyor. Suanlık böyle bir yapıda olduğunu benimsemek yeterli.

Neden Bunu Yapıyoruz?

Pythonda yazdığınız bir scripti kullanışlı hale getirmek istiyorsunuz, basit bir yapıyı insanlara sunmak ve tanıtmak istiyorsun; işte Flask burada oldukça güzel işler başarıyor. Belli login işlemleri ve form yapısı ile kısa kod yapısı sayesinde veri tabanı ihtiyacı duymadan güzel projeler üretmek mümkün. Örnek verecek olursam ınstagram için yazdığım unfollow yapısını rahatlıkla kullanmak ve arkadaşlarımın kullanmasına imkan sunmak istiyorum. Digitalocean üzerinden bir sunucu açarak bu yapıyı Flask ile ipadres:8000/ınstagramlogin ile hızlı bir şekilde hizmet haline getiriyorum. Tadam! Bu çok basit bir senaryo.

Şimdilik bu kadar. Burada Flask ile basit bir giriş yaptık ve sadece neden kullanıldığına baktık. İlerleyen yazılarda daha farklı dinamikler üzerinde durmaya çabalayacağım.

comments powered by Disqus
Hugo ile oluşturuldu.
Stack teması Jimmy tarafından tasarlandı