Flask Tutorial Introduction

1-FlaskIntro

Python ile Web Uygulama Geliştirme

Kavramlar

  • Python ile Web uygulama geliştirirken bazı kavramların anlamlarını öğrenmek geliştirme sürecinde bize çok faydalı olacaktır.
WSGI ( Web Server Gateway Interface )
  • Web Server ile Web Application'ın nasıl iletişim kuracağını tanımlayan bir şartnamedir. (detaylandırılmış kurallardır.)
Werkzeug
  • Python için yardımcı bir WSGI kütüphanesidir.
  • Güçlü bir debugger'a, tam özellikli request ve response objelerine, cache kontrol mekanizmalarına, cookie işlemlerine, dosya upload işlemlerine, URL routing sistemlerine ve daha bir çok özelliğe sahiptir. (Kaynak: Welcome | Werkzeug (The Python WSGI Utility Library))
Template Engine
  • Template: Bir bilgiyi düzenlemek, formatlamak, şekillendirmek için yardımcı bir şablon, kalıp.
  • Template Engine: Template'leri bir araya getirerek veri modelleriyle sonuçlar üretmemizi sağlayan yazılımlardır.
  • Template Engine olmadan programların görünüşü:
 
  • Template Engine ile programlarımızın görünüşü: php dosyaysı
 
  • html dosyası
 
  • Template Engine ile html template'lerimizi parçalara ayırarak da kullanabiliriz. Bu işlemleri ilerleyen bölümlerde extend, include gibi anahtar kelimelerle yapacağız. (Kaynak: TinyButStrong - Template Engines explained ) Php & HTML
Jinja 2
  • Jinja2 Python programlama dili için kullanılan, BSD License altında lisanslanmış, Armin Ronacher tarafından geliştirilmiş bir template engine'dir. Daha fazla bilgi ve dökümantasyonu için : Welcome to Jinja2 — Jinja2 Documentation (2.10) sitesini ziyaret ediniz.

Flask Microframework



Python, Virtual Environment & Flask Kurulum ( Installation )

NOT: Ben geliştirme sürecinde Linux Mint kullanacağım

  • Gerekli ortamı hazırladıktan sonra, web ugulama geliştirmek için hazırlıklara başlayalım.
 
 
  • Python sanal ortamına geçiş yapalım.
 
  • Hızlı ve kolay biçimde Flask'i kuruyoruz.
  • $ pip install Flask terminale yazıyoruz.
  • Kurulumdan sonra kontrol etmek için. Terminalde python yazıp, python'unun shell platformuna geçiş yapın. >>> import flask dediğinizde herhangi bir hata almadıysanız kurulum başarıyla tamamlanmıştır.
  • CTRL + D veya >>> exit() yazarak python shell ortamında çıkabilirsiniz.
  • $ mkdir myapp diyerek bir klasör oluşturalım.
  • myapp/ klasörü altında __init__.py dosyasını oluşturuyoruz. Python'da __init__.py dosyalarını boş da olsa python klasörlerimizin içine yazmalıyız. Çünkü modüllerimizi import ettiğimiz zaman klasörlerimizin(dizinlerimizin) altındaki dosyaların da import edilmesi gerekiyor. Eğer __init__.py dosyaları olmazsa , modülünüzü import etseniz ya hata verecek ya da göremeyecektir.
  • Büyük çaplı uygulamalar için proje yapısının nasıl olması gerektiğini de göreceğiz.
  • myapp/__init__.py
 
  • flask paketinden import ettiğimiz Flask sınıfından yeni bir nesne oluşturup app isminde bir referansa bağlıyoruz. __name__ parametresi ile Flask'a uygulamamızın nereye ait olduğunu belirtmiş oluyoruz.
  • #external satırını dışarıdan yüklediğimiz paketler için, #internal satırını da kendi yazdığımız paketler, modüller için kullanacağız. Kod okunurluluğu açısından böyle yapmayı istedik.
  • myapp/routes.py
 
  • @app.route decorator'ı hangi method için yazıldıysa, aldığı parametre veya parametreler (/, /index) ile o methodu ilişkilendirir. Burada bizim yaptığımız, ne zaman kullanıcı browser'da / veya /index URL'ini girerse def index() methodu çağırılacak ve "Selam Python!" stringi dönecektir.
  • Şimdi main.py dosyamızı oluşturalım. Bu dosya ana uygulama modülü (main application module) olacaktır. Yani projemizi bunun üzerinden çalıştıracağız.
  • blog/main.py
 
  • Her şeyden emin olmak için proje yapımıza göz atalım:
 
  • Her şey tamam! Projemizi çalıştırmak için terminalden (env) $ export FLASK_APP=main.py ( eğer windows'taysanız export yerine set yazalım.) yazıyoruz. = işaretinden önce ve sonra boşluk bırakmayınız!
 
  • Şimdi istediğiniz browser'dan http://127.0.0.1:5000/ adresini girerek Flask'a merhaba deyin!

Selam Python!

  • Tebrikler! Python ile ilk web uygulamanızı başarıyla tamamladınız.
  • Gördüğünüz gibi / veya /index hangisini yazarsak yazalım def index() methodu çağırılıyor ve bize Selam Python! dönüyor.
  • CTRL + C ile terminalden programı durdurabilirsiniz.

Yorumlar