Kayıt Ol

Giriş


Şifremi Kaybettim

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

soru ekleme

You must login to ask question.

Giriş


Kayıt Ol

Merhaba, kayıt formu üzerinden kayıt olabilirsiniz. Fakat sosyal medya ile kayıt olmanızı önermekteyiz.

Flask Dersleri – Dinamik Url Sorguları

Flask Dersleri – Dinamik Url Sorguları

Merhabalar,flask derslerime mümkün olduğunca devam ediyorum fakat yazıların arasında ki zaman aralığının oldukça fazla olduğunun farkındayım fakat elimden geldiğince yazıları yazmaya devam edeceğim.Bu yazım da aslında .net vb programlama dili kullananların oldukça aşina olduğu query string gönderiminden bahsedeceğim.Ufak bir senaryo oluşturalım diyelim ki bizim her bir kullanıcımızın kendi profil sayfaları var ve biz bu profil sayfalarında ki query stringin id vb değer yerine kullanici adı olmasını istiyoruz diyelim.O zaman yapmamız gereken işlemler aşağıdaki gibi olmalıdır. (Bu örnekte veri çekme işlemleri SQL Alchemy kütüphanesi kullanılarak yapılmıştır.)

Sayfa yönlendirmemiz için bir adet method oluşturalım

Yukarıda yazdığım kodu hem ilk defa SQL Alchemy kütüphanesini görenler için hem de tam olarak ne yaptığımı anlamayan arkadaşlar için satır satır inceleyelim.

 

@app.route(‘/profil/<kullaniciAdi>’)

Bu satır da anlatılmak istenen işlem profil sayfasına yönlendir ancak parametre olarak da benim yazacağım kullaniciAdi parametresini kullan.Örneğin http://127.0.0.1/profil/mehmetcan

 

def profil_page(kullaniciAdi)

Bu satır python da bildiğimiz method tanımlama ama flask derslerin de ilk defa yaptığımız şey ise parametre göndermek.Bir üst satırda belirttiğimiz kullaniciAdi parametresinin değeri ile burda ki kullaniciAdi parametresinin değeri aynı olacak ve ona göre veri tabanından veri getirilecek.

 

user = User.query.filter_by(kullaniciadi = kullaniciAdi).first()

Bizim User isimli bir tablomuz var veritabanımız da ve tüm kullanıcı bilgileri bu tablo da tutuluyor.Query anahtar kelimesi bizim bu tabloyla ilgili bir sorgu çalıştırmak istediğimizi belirtiyor.Ardından gelen filter_by ise içerisine aldığı koşulu sağlayan verileri getirmemizi sağlıyor.Son olarak first diyerek gelen ilk sonucu almamızı sağlıyor.Gelen veriyi ise user değişkenimize atıyoruz.

return render_template(“profil.html”,user=user)

Method tamamlandığında sayfamızı çağırıyoruz ancak sayfamıza user nesnesini de gönderiyoruz.Yani sayfa içerisinde User tablosundan veri listeleme gibi bir işlem yapmak istersek gönderdiğmiiz user nesnesini kullanacağız.

 

Hemen bir de basit bir profil sayfası oluşturalım ve kullanıcımızın birkaç bilgisini o sayfa da gösterelim.

 

Şimdi projemizi çalıştırdığımız da yazdığınız kullanıcı adına göre verilerin geldiğini görebilirsiniz.Bugünlük bu kadar arkadaşlar bir hatam yanlışım veya yanlış aktardığım bir bilgi olursa lütfen yorum olarak bildirin.Benden daha deneyimli ustalarımız büyüklerimiz özellikle bu hataları görüp bildirirse ben de o hataları düzelterek daha iyi bir bilgi akışı sağlarım.Bir sonraki makalem de görüşmek üzere hoşçakalın.

 

Not: SQL Alchemy konusunu maalesef anlatamadım çünkü ona bir makale yetmezdi fakat onunla ilgili bir kaynak göstererek en azından aklınızda ne olduğuna dair bir fikir oluşabilir. http://flask-sqlalchemy.pocoo.org/2.1/

Hakkında Mehmet CanÇırak

.Net & Python developer.

Yorum ( 1 )

  1. Hüseyin Altunkaynak
    12 Ağustos 2017 at 18:47

    Ellerinize sağlık 😀

    İngilizce kaynaklardan anlayamamıştım bu makale çok iyi oldu devamını bekliyorum 😀

Bir Cevap Yaz

Captcha Captcha güncellemek için resime tıkla