Flask Nedir ve Flask ile İlk Uygulamamız

0 0
Okuma Süresi:3 Dakika, 53 Saniye
Flask
Flask

Flask Nedir?

Günümüzde birçok programlama dili ile web programlama yapılabiliyor. Ben size bu yazımda web programlama için kullanabileceğiniz python dilinin Flask web framework’ünü anlatmaya çalışacağım.

Flask, yukarıda bahsettiğim gibi python dilinin bir web framework’üdür. Framework diye bahsediyoruz ama belki bilmeyenler olabilir, kısaca framework nedir onu anlatalım.

Framework Nedir?

Framework’ler belli dillerle yazılmış uygulama çatılarıdır. Uygulama çatısından kastım ise mesela bir web sitesi projesi gerçekleştireceksiniz bu projenizin web sunucusu tarafındaki tüm işlemleri belli programlama dilleri ile sizin yapmanız gerekiyor. Ancak bu frameworkler sayesinde belli yapılar hazır olarak size sunulur ve yeniden yazmak zorunda kalmadan projenizi hızlı bir şekilde devam ettirebilirsiniz. Tekerleği yeniden keşfetmeye gerek yok diyorum ve Flask’i anlatmaya devam ediyorum.

Flask yüzde 100 python dili ile geliştirilmiş bir framework’tür. Web geliştiriciler için ya da yazılıma ilgi duyanlar için, web ortamınının back-end kısmında geliştirme yapmaya yarayan Flask’in birçok hazır modülü bulunmaktadır. Flask, küçük bir framework olmasına rağmen profesyonel web projeleri geliştirmemizi sağlayabilecek modüllere sahiptir. Günümüzde birçok geliştirici Flask ile web projeleri gerçekleştirmektedir. Bunlardan biri de neden siz olmayasınız. 😉

Flask’ın ve Web Sunucularının Çalışma Mantığı

web sunucu mantığı

Flask’la bir proje gerçekleştirmeden önce çalışma mantığını size anlatmak istiyorum. Ancak Flask’ın çalışma mantığından önce web sunucuların çalışma mantığını anlatacağım. Bilgisayarınızın başına oturdunuz ve interneti açtınız. Bir internet sitesine girmek istiyorsunuz bu site tabi ki www.enesonmez.com. Arama motorunuzun URL kısmına bu site adresini girerek bir request (istek) oluşturmuş oluyorsunuz. Oluşturduğunuz request, DNS sunucularından sitenin static ip’sini alarak sunucuya ulaşıyor. Server da bu request’e yani isteğe response (cevap) gönderiyor. Bizde bu response’u alıyoruz ve HTML şekilde arama motorumuzda gösteriyoruz. Evet web sunucularının çalışma mantığı bu kadar basit. Şimdi Flask’ın mantığını anlatmaya hazırız.

Flask kendi içinde jinja2 template mantığını kullanıyor. Bu bizim Flask yapılarını kullanmamızı sağlayan bir template yapısıdır. Biz bir HTTP request’te bulunduğumuzda bu URL adresi bir fonksiyon çalıştırıyor. Tabi siz şimdi bu fonksiyon nerede diyorsunuzdur hemen söyleyeyim sitenin bulunduğu server’da bulunuyor. Bu fonksiyon belli python kodlarını derleyerek bize HTTP response döndürüyor. Bu HTTP response’larımızda bizim HTLM template’lerimiz olarak bize dönüyor. Bu template’imiz ise başta belirttiğimiz üzere jinja2 template’dir. Flask’ın genel mantığı bu şekildedir. Yapacağımız küçük uygulama ile daha iyi anlayacağınızı düşünüyorum.

Flask Kurulumu

Flask’ı kurmak için ilk önce terminalinizi açmanız gerekiyor ve alttaki kod bloğunu terminalinize yazmalısınız.

pip install Flask

Bu kod bloğu eğer bilgisayarınızda Flask kurulu değilse Flask dosyalarını ve modüllerini bilgisayarınıza indirir. Tebrikler başarıyla Flask’ı yüklediniz.

İlk Flask Uygulamam

Burada sizin için bir Flask projesi nasıl oluşturulur, nasıl veri ekranda gösterilir amacıyla küçük bir proje gerçekleştireceğiz. Bu projenin amacı Flask’ı tanımaktır. Haydi uygulamamıza başlayalım.

Uygulamamıza başlamadan önce masaüstünde “ilk uygulama” adında bir klasör oluşturalım ve herhangi bir kod editöründe bu klasörü açalım. Ben size vs code’u öneriyorum ve bunun üzerinden anlatacağım. Klasörümüzü açtıktan sonra bir python dosyası oluşturalım. ilkuygulama.py şeklinde bir python dosyası oluşturdum. Şimdi hazırız hadi kodlayalım.

from flask import Flask

Burada Flask framework’ünü projemize dahil ediyoruz. Bu sayede Flask modüllerini kullanabileceğiz.

app = Flask(__name__)

Bizim projemizin temelini oluşturabilmek için uygulama başlatmamız gerekiyor. Bu yüzden de üstteki kod bloğunu yazıyoruz. “__name__” bunu daha sonra açıklayacağım.

if __name__ == “__main__”
	app.run(debug=True)

Yukarıdaki kod bloğu ile projemizi çalıştırıyoruz. Burada dosyamızın terminalden çağırılıp çağırılmadığını koşulumuz ile sorguluyoruz. Bu sorgulama sonucu geriye “__main__” dönüyorsa terminalden çağrıldığını anlıyor ve uygulamayı başlatıyor. Eğer bir modülden çağrıldığını anlarsa __name__ değişkenine başka bir değer atanır ve uygulama çalışmaz. Böylelikle __name__ değişkenini de anlatmış oldum.

Uygulamamızı bu şekilde yazıp terminalde çalıştırırsak karşımıza bir hata mesajı çıkar ancak korkmanıza gerek yok her şey yolunda demektir. Bu mesajda bize gönderdiğiniz istek sonucu çalıştıracak bir fonksiyon bulunmadığını söylüyor. Hadi artık ekranda bir şeyler yazalım ve uygulamamızı bitirelim.

@app.route(“/”)
def index():
	return “İlk Flask Uygulamam Çalıştı”

Artık karşımıza çıkan hatayı çözmüş bulunmaktayız. Burada app.route ile bize gelen request URL’sini yazıyoruz ve altına yazacağımız fonksiyon ile nasıl bir response döneceğimizi belirtiyoruz. Bu kodda ana dizine bir request geldiğinde ekranda “İlk Flask Uygulamam Çalıştı” diye bir response alacaksınız.

#Kodun Tamamı
from flask import Flask

app = Flask(__name__)

@app.route(“/”)
def index():
        return “İlk Flask Uygulamam Çalıştı”

if __name__ == “__main__”
	app.run(debug=True)

İşte Flask bu kadar kolay, yazı yerine bir HTML sayfada döndürebilirsiniz. Örneğin index.html diye dosyanız var metin yerine aşağıdaki kod bloğunu yazarak çağırabilirsiniz.

return render_template("index.html")
#HTML Sayfası Döndüren Kodun Tamamı
from flask import Flask,render_template

app = Flask(__name__)

@app.route(“/”)
def index():
        return render_template("index.html")

if __name__ == “__main__”
	app.run(debug=True)

Tabi bunu kullanabilmek için render_template’i projenize dahil etmeniz gerekiyor.

Flask ders listesine ulaşabilmek için tıklayınız.

Umarım sizin için faydalı bir yazı olmuştur.

Bilgi her zaman paylaşılmalıdır.

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %

Enes Sönmez

Lise eğitimimi Otocenter Mesleki ve Teknik Anadolu Lisesi’nde tamamladım. Bilgisayar programcılığı ve veri tabanı bölümü üzerine liseyi bitirdim. 2017 yılında Karadeniz Teknik Üniversitesi Bilgisayar Mühendisliği bölümünü kazandım. Hala eğitim hayatımı burada sürdürmekteyim. Makine öğrenmesi, derin öğrenme, görüntü işleme ve veri bilimi üzerine çalışmaktayım. Ek olarak Deep Learning Türkiye ve KTÜ Yapay Zeka Topluluğu üyesiyim.

Average Rating

5 Star
100%
4 Star
0%
3 Star
0%
2 Star
0%
1 Star
0%

One thought on “Flask Nedir ve Flask ile İlk Uygulamamız

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir