windowsta, hele hele ilk kurulumu türkçe yapılmış bir windowsta ruby, ruby on rails vs nedir bilir misiniz? bilmemeniz daha iyi.
tth’de ki çeşit çeşit şeyleri denedikten sonra mac alana kadar ruby ile bişeyler yapmayacağıma karar verdim. yalnız back-end için php de istemiyorum. neyseki python var. tth’de pythona bakarken flask isimli duymadığım bir micro-framework kullanıldığını görüm. pythonu kurdum ve tatam. adımlarımı olabildiğince atlamadan buraya yazacağım.
pythonu kurdum. sonra virtual enviroment yaratmak için (ki bu önemli bir konu, birden çok projeyi saklayabilir, birbirleri ile karışmasını kolayca önleyebilirsiniz) virtualenv’in elinizde olmaması ihtimaline karşı command promtta (ben cmder kullanıyorum öneririm)
pip install virtualenv
yazıp virtualenv kurulumunu yaptım. sonra cmder ile uygun bir klasör seçtim. ve buraya flask isimli bir proje dosyası oluşturmak için
python -m venv flask
ile yeni bir proje oluşturdum. bundan sonra bir dünya app yükleyebilirsiniz ama yüklemeden de bir “hello world” applicationu oluşturmak mümkün.
bunun için favori ide’mizi açıp flask klasörünü buradan açalım. ben brackets kullanıyorum. front-end için şimdiye kadar karşılaştığım en kaliteli ide. klasörümüzün içine our_app.py diye bir dosya oluşturalım.
benim anladığım ilk önemli nokta şu:
from flask import Flask
ilk f küçük ikinci f büyük olacak. bunu dosyamızın içinde ne üste yazalım. böylece bu bir flask uygulaması olacak. sonra app ismi belirlemek için:
app = Flask(__isim__)
yazıyoruz. bunu da yazdıktan sonra route belirlemeliyiz ki gelen http isteklerini server nereye yönlendireceğini bilsin. bunu sağlamak için de:
@app.route('/')
yazmamız direk ip’ye gelen isteklerin yönlendirilmesini sağlayacak.
app’in çalışması için ise:
app.run()
fonksiyonu, ya da viewini yazmamız gerekir. işi biraz ilerletip
app.run(debug=True)
ile app’in dosyalarda her değişimde kendisini otomatik yenilemesini sağlarız. böylece server’i yeniden başlatmaya gerek kalmaz.
app.run(debug=True, port=8080)
yazarsanız hangi portun kullanılacağını da belirlersiniz. misal ben 8080 kullan dedim.
peki şimdi ne olacak? hiç bir şey çünkü app boş. onu doldurmak için app.run üstünde bir yere route altında olsun şöyle birşey girmemiz gerekecek.
def index():
return "Hello Howdy Doin?"
def index(): kısmı index fonksiyonunu belirliyor. bu arada önemli bir detay python’da ; felanla kapanmadığı için fonksiyon view belirliyorsak şöyle bir şey önemli, o da return kısmını yazarken “tab” ile bir tırnak içeri atmamız. böylece return’ün o def’e ait olduğu anlaşılıyor.
sonra bu app’i çalıştırmak için ise konsola
python our_app.py
yazıyoruz. hangi adresten ulaşabileceğimiz burada yazacak. tarayıcı ile açın ve tatam. hayırlı uğurlu olsun.
kodun tamamı için:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return "Hey hey hey"
app.run(debug=True, port=8000)