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.

Django Şablon Kullanımı ve Ayarları

Django Şablon Kullanımı ve Ayarları

Daha önceki “Şablon Mantığı” yazısında Django şablonların mantığını anlatmaya çalıştım. Olayı kısaca özetlemek gerekiyorse, views.py üzerinde oluşturduğumuz değişkenleri veya fonksiyonları “html” üzerinden çağırabildiğimiz olaya “Şablon içerisinde programlama” olarak adlandırılmaktadır.

Php dilini kullananlar için örnek vermek gerekirse html içerisinde <?php echo merhaba ?> kullanım olayı ile aynı mantık göstermektedir.

Şimdi bir proje oluştaralım ve şablon içerisinde programlama yaparak olayı çözelim :

Django proje oluşturma olayı biraz uzun işlem olduğu için ve daha öncede anlattığım için sizin kurmanız gerekiyor veya aşşağıdaki kaynaklardan yaranabilirsiniz :

Bu kaynak standart django projesi oluşturmanız için yeterli olacaktır, projeyi oluşturduktan sonra buradan devam edin lütfen.

Bu bilgileri verdikten sonra bir django projenizin oluştuğunuzu varsayarak konuyu anlatmaya devam ediyorum.

  • Proje dosyamızın bulunduğu bölüme (__init__.py , settings.py,urls.py,wsgi.py dosyaların bulunduğu klasör) bir uygulama oluşturalım.

Veya

Şeklinde oluşturabilirsiniz.

  • Uygulamamızın, views.py adlı dosyasının içerisine girip bir fonksiyon yazalım.

Yukarıda yazdığımız “render(request,’index.html’,locals())” yapısında şunu demek istedik ;

  • AnaSayfa fonksiyonuna istek geldiğinde render işlevi devreye girecektir.
  • Aynı mantık render fonksiyonuna yanıt geldiğinde “index.html” sayfasını ekrana çağıracaktır. İndex.html dosyasını daha sonra oluşturacağız.
  • local() yapısıyla fonksiyon içerisinde tanımlanan değişkenleri direk olarak kullanma imkanı sağlamaktadır.

Şimdi “şablonlarımızı” oluştaracağımz bir “templates” klasörünü oluşturmalıyız.

  • Proje dosyasının içerisine “templates” adlı klasör oluşturalım burada html dosyaları barındıracağız.
  • “templates” klasörün içerisinde “index.html” adlı dosya oluştralım ve içerisine şunları yazalım :

Şimdi urls.py üzerinde urlmizi eklememiz gerekiyor.

  • urls.py içerisine girelim, öncelikle views.py’i tanımlamamız gerekiyor :

from UygulamaAdı import views şeklinde ekleyebilirsiniz.

ekledikten sonra urlmizi yazalim :

  • Burada dolar işareti ($) kullanarak anasayfa olarak url verdik yani siteye girildiğinde ilk bura açılacaktır.

Son hali şöyle olacaktır :

Buraya kadar geldik harika fakat sistem çalışmayacaktır çünkü Django bir MVT yapısı olduğu için “templates” ve “app” olarak sonradan kurduğumuz yapıları tanımlamamız gerekiyor.

Django Şablonlar Settings.py Ayarları

  • Oluşturduğumuz uygulamayı ayarlara belirtmemiz gerekiyor. Settings.py içerisine girip “INSTALLED_APPS” adlı bölüme gelerek :

‘uygulamaadı’, şeklinde ekleyebilirsiniz.

  • Oluşturduğumuz “templates” aynı şekilde tanımlamamız gerekiyor. Settings.py içerisine girip “TEMPLATES” bölümüne girip “DIRS” bölümüne şunları yazmalıyız :

Settings.py içerisine girdiğimiz zaman şöyle bir değişken görmeniz gerekiyor :

  • BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

Bu değişken, ana dizini ifade etmektedir biz bundan referans alarak templates klasörümüzü belirteceğiz :

Şeklinde “DIRS” bilgilerini yazmalısınız.

Herşey Tamam, Artık Çalıştırabiliriz :

Başlatma Komutu :

Sitemize giriş için : http://127.0.0.1:8000/

Girdiğimizde aşşağıdaki gibi çıktı olacaktır :


django sablon kullanimi ve ay


Umarım faydalı olmuştur, bu sayede bir html sayfasi rahatlıkla çağırabilir yani bir şablon kullanabileceksiniz. Bir sonraki konuda Şablon içeresinde programcılık konusuna değinicem.

 

Hakkında Ali YamanProfesyonel

Herzaman bilginin gücüne inanlardan oldum , araştirmalarım ve deneyimlerimlerimi sizlere sunmayı amaçlıyorum. İstanbul Üniversitesi Kontrol ve Otomasyon Öğrencisiyim Elektronik ve Programlama ile ilgim var.

Beni Takip Et

Leave a reply