Django Dinamik İçerikler



Dinamik İçerikler

Şimdiye kadar oluşturduğumuz görünümleri tarayıcıda işletebilmek için urls.py adlı dosyada adres olarak belirtmemiz gerekiyordu. İşimizi biraz daha zorlaştırıp, bu adresleri çoğaltalım.

Örnek : Bir fakültede açılan derslerin içeriğini görüntülemek istediğimizi düşünelim. Fakütelerde derslerin genellikle kodları olur. Örneğin Ax0100,Ax0101,Ax0102,Ax0103 şeklinde dersler olsun. Bunların içeriğini şu şekilde sunalım :


127.0.0.1:8000/dersler/Ax0101

127.0.0.1:8000/dersler/Ax0102

127.0.0.1:8000/dersler/Ax0103 

127.0.0.1:8000/dersler/Ax0104 


Eğer bunların her birinin urls.py dosyasına eklenecek ise işimiz epeyce zor. Bunların daha çok olduğunu düşünürsek imkansız…

Bu sorunu Django’nun dinamik adreslerini kullanarak çözebiliriz : 

  • Blog Adlı uygulama oluşturup , proje dosyasının içerisine views.py adlı dosya kuralım.

Aynı şeyleri tekrar etmemek adına, Djangoda proje nasıl oluşturulur bir yazı yazmıştım : Django Proje Oluşturma

Bu makaleyi okuyun, projenizi oluşturun tekrar buradan devam ederseniz daha sağlıklı olacaktır. Proje oluşturduğunuzu varsayıyorum o halde…


Blog/

    __init__.py

   settings.py

   urls.py

   wsgi.py

manage.py


Yapının böyle olacaktır o halde :

Öncelikle “Urls.py” adlı açalım , Views.py modülünü urls.py’e ekliyelim. Çünkü views.py içerisinde yazdığımız fonksiyonları çağırabilmek içindir.
from . import views
Şimdi adresimizi belirtelim urls.py içerisinde :

Buradaki “Ax0\d+” deseninde bir düzenli ifadeyi(reqex) göstermektedir. Python’un düzenli ifadeleri için google’dan arama yapabilirsiniz. Düzenli ifadelerde \d tek bir sayı anlamına gelir, + ise bir önceki desenden bir veya daha fazlası anlamına gelmektedir. Yani yapı şöyle oluyor  :

Burada “derskodu” olarak belirnen bölüm “\d+” bölümüdür. Şimdi fonksiyonumuzu yazalım daha iyi anlayacaksınız.







Öncelikle Html yanıt vereceğimiz için kütüphaneyi ekliyelim :

Kütüphaneyi eklediğimize göre fonksiyonu yazmaya başlıyalım :

Fonksiyonu oluşturduk, veritabanı şu aşamada kullanmıyacağız o yüzden bir sözlük yapısı kuralım.

Özelliğide ismi gibidir, “kod” : ” açıklama” şeklinde eşleme yapılır bu eşleme sonuçunda kontroller oluşur. Şimdi kontrollerimizi oluşturalım :

Dinamik içeriklerimiz oluşturuldu.

İlgili konuma giderek projemizi başlatalım, yukarda verdiğim  Django Proje Oluşturma yazısında bunların hepsi anlatılıyor.
python manage.py runserver
Şimdi sitemize girip kontrol edelim .

Mevcut ders kodunu aradığımız sonuç şöyle olacaktır : 

django dinamik icerikler

Şimdi ise, ders kodun olmadığı bir arama yapalım : 

django dinamik yazi

 


Emoji olarak yorumla :)
eh işte! eh işte!
0
eh işte!
Harika Harika
0
Harika
Hahaha! Hahaha!
0
Hahaha!
Vay be! Vay be!
0
Vay be!
Şekilsin Şekilsin
0
Şekilsin
Muhteşem Muhteşem
1
Muhteşem
Beğendim Beğendim
0
Beğendim
Beğenmedim Beğenmedim
0
Beğenmedim

Django Dinamik İçerikler

Giriş Yap

Hoşgeldin, sefa getirdin :)

Şifre Sıfırla

Şifreni bidaha unutma lütfen :)

Geri git :
Giriş Yap