Flask – Template İşlemleri & Jinja Template


Merhabalar, bir önceki yazım da örnek bir uygulama yapmıştık hatırlarsanız.O uygulama da biz http://127.0.0.1:5000/ dediğimizde Merhaba Dünya ! yazısı karşımıza çıkıyordu.Peki biz html temalar ile işlem yapmak istersek return dedikten sonra tüm html kodlarını tek tek her fonksiyona yazacak mıyız? Tabi ki hayır.Bunun için import ettiğimiz flask modülü içerisinde render_template isminde bir sınıf var.Bu sınıf aslında adından da anlaşılabileceği üzere bizim html formatında ki temalarımızı kullanmamızı sağlıyor.
Basit bir html tema oluşturalım ve templates klasörümüz içerisine home.html olarak kaydedelim.Ve içeriğini şu şekilde ayarlayalım.

 

Şimdi de ayarladığımız html dosyasını ana sayfa fonksiyonumuzda geri döndürelim.Fakat bunu yapmadan önce projemize render_template sınıfını da eklememiz gerekiyor.

 

Bu adımı da tamamladıktan sonra http://127.0.0.1:5000/ adresine gittiğiniz zaman html tasarımınızı görebilirsiniz.

 

Buraya kadar bir html temayı nasıl kullanacağımızı öğrendik.Fakat şöyle bir durum var diyelim ki elinizde bir tema var, header ve footer kısmı her sayfa da aynı o zaman her sayfanın html temasında oralara teker teker işlem gerçekleştirmek saçma değil mi? İşte burda da base.html oluşturup diğer tüm html sayfalarının bu dosyadan miras almalarını sağlayacağız.Yani daha açık konuşmak gerekirse kendini sürekli tekrar eden bölümlerimiz base.html de duracak ve tekrar tekrar her sayfaya kopyalamayacağız ayrıca daha az kod olacağı için okunabilirliği artacak.Şimdi base.html adında bir dosya oluşturup bu dosyayı da templates klasörüne kaydedelim ve base.html dosyamızın içeriğini aşağıda ki gibi ayarlayalım.

Ve home.html dosyamızın içeriğini şu şekilde değiştirelim.

Gördüğünüz gibi daha az kod ile home.html dosyamızı hazır hale getirdik.Burada yaptığımız işlemi hakkımızda sayfası için de yapabilirsiniz veya başka hangi sayfalarınız varsa onlarda da kullanabilirsiniz.Gelelim başlıkta gördüğünüz Jinja Template bölümüne.Aslında bunu az önce yazdığınız kodlarda yazdınız.Jinja template dediğimiz olay html içerisinde python kodları (if,else,for vb.) yazmanızı veya verilerinizi html sayfası içerisine çekmenizi sağlar.Jinja template olayına bi örnek verecek olursak;

Bu örnek anlamanıza daha çok yardımcı olacaktır.Ama yine de iyice öğrenmek isterseniz wikipedia sayfasına bakabilirsiniz.

 

Bu yazıda template işlemlerine değinmiş olduk.Bir sonraki yazım da tekrar görüşmek dileğiyle iyi kodlamalar arkadaşlar.

Flask – Template İşlemleri & Jinja Template

Giriş Yap

Hoşgeldin, sefa getirdin :)

Şifre Sıfırla

Şifreni bidaha unutma lütfen :)

Geri git :
Giriş Yap