Python - Bottle Web-Framework

b0mb

Katılımcı Üye
14 Mar 2017
471
1
İzmir
Python Bottle Framework

Bottle, web uygulamaları geliştirebilmenizi sağlayan bir web-frameworktür. Python’un standart kütüphaneleri dışında bir kütüphaneye gerek duymaz, tek dosya olarak dağıtılır.

Başlayalım: "Hello, World!"

Hemen klasik örneğimizi nasıl yazabileceğimize bakalım.

EyGrLA.png


İşte, bir web uygulaması yazmak bu kadar basit! Çalıştırıp ’http://localhost:8000’ adresini açarsanız uygulamanın çalıştığını göreceksiniz. Hemen bir resim ekleyelim,

QpDAXA.png


Gördüğünüz üzere, istediğimiz sonucu elde ettik. Eğer ’http://localhost:8000/hello’ şeklinde bir adresi açarsanız, yine aynı sonucu alacaksınız. Nasıl çalıştığını açıklayalım,

@route dekoratörü ile bir link ile biraz kodu birleştiriyoruz.(Çok saçma bir cümle oldu... :p) Burada, /hello ve / ile hello() fonksiyonunu birleştirdik. Trayıcı bir URL istediğinde, önceden belirlenmiş ilişkili olan fonksiyon çağrılır ve fonksiyonun döndürdüğü değer tarayıcıya gönderilir. İstediğiniz kadar @route dekoratörünü kullanabilirsiniz.

Son satırdaki run() fonksiyonu, geliştirme amaçlı built-in bir server çağırır. Testler için idealdir, herhangi bir setup vs. gerektirmeden test yapabilirsiniz.

Debug modu, geliştirme sürecinde programcıya çok yardımcı olabilir. Fakat uygulama kullanıma sunulduğunda genelde kapatılır.

Direk run() fonksiyonu ile uygulamayı çalıştırmış olmamız biraz garip gelmiş olabilir. Siz, @route dekoratörünü bir kere kullandığınızda, otomatik olarak global bir Bottle() sınıfı oluşturulur ve buraya eklenir. Hemen sınıfı örnekleyerek bir uygulama yazalım.

jQ0XMr.png


Pek sıkıcı bir örnek, daha ilginç bir şeyler yapalım.

2ELndq.png


say_hello() fonksiyonu, name adında bir parametre alıyor ve sonuna ’hello’ eklediği bir string döndürüyor. Ne olacağını tahmin ettiğinizi düşünüyorum :)

ByJvng.png


Tabii ki, bu çok basit bir uygulama ama genel olarak bottle framework ile nasıl web uygulamaları geliştirebileceğimizi gördük.

GET ve POST

GET ve POST metodlarına birlikte kullandığımız bir örnek verelim,

ZOvM6a.png


Hemen çalıştırıp bakalım,

o6G05m.png


lbJ3XX.png


Gördüğünüz üzere, bir web uygulaması yazmak bu kadar kolay. Üstelik, Python’un bize sunduğu muazzam geliştirme olanaklarından hiçbir şey eksilmiyor :)

Bu yazı biraz basit kaldı, giriş niteliğinde bir şeyler yazmak istemiştim zaten. Ayrıntılı dökümanlara kendi sitesinden ulaşabilirsiniz.
 

s60v3

Katılımcı Üye
22 Eyl 2012
359
0
Almanya
hocam elinize sağlık,izniniz olursa bu yazıyı web sitemde yayınlamak isterim,yazı sonuna istediğiniz sosyal hesabınızı da ekleyebilirim.
 

King Kong

Kıdemli Üye
19 Mar 2017
2,392
10
Al İşte :D Senin Yüzünden Kendimi Ezik Hissediyorum Kanka :p Ellerine Sağlık.
 

b0mb

Katılımcı Üye
14 Mar 2017
471
1
İzmir

King Kong

Kıdemli Üye
19 Mar 2017
2,392
10
Teşekkür ederim, yazarı belirttiğiniz sürece herhangi bir sorun yok. :)

Teşekkür ederim :) Öğrenmeyen adam eziktir, sen ezik değilsin :p
Hayde :D Kanka Bakma Bende Hiç Birşey Bilmiyorum Sadece Modül İmport Etmeyi Ve İmport Ettiğim Modülü Ezberleyip Program Yapıyorum Yoksa flush,end'i Falan Bile Bilmiyorum print Fonksiyonundaki :D
 

BufGix

Uzman üye
7 Ağu 2015
1,089
2
Phobos/Space
Django kadar olmasa da ( normal olarak ) bence kucuk projelerde kulanilabilir peki dinamik url leri nasil yapariz ?

Eline Saglik bu arada :)
 

b0mb

Katılımcı Üye
14 Mar 2017
471
1
İzmir
Moderatör tarafında düzenlendi:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.