Nasıl template/
dizin yapısı kurulur? Bir index.html
şablonu base.html
'dan genişlerse, Django, kök şablon dizininizde base.html
'un ne olduğunu seçer.
Çözüm: Ya base2.html
böyle bir şey için base.html
şablonlardan birini yeniden adlandırmak ve base1.html
yanında templates/
koymak veya içine base.html
dosyaları koymak için templates/
yeni dizinleri oluşturun.
Çözüm A için {% extends base.html %}
'u {% extends base2.html %}
- index.html
şablonunda değiştirdiğinizden emin olun.
Çözüm B için, base.html
dosyalarınız aynı adı korur, ancak farklı dizinlerde olabilir. Yani biri templates/base1/base.html
ve diğeri templates/base2/base.html
. index.html
dosyalarınız, {% extends base1/base.html %}
ve {% extends base2/base.html %}
gibi uzatılabilir. Tüm uzantı yollarının seçtiğiniz şablon dizininin kökü ile ilgili olduğunu unutmayın.
IMO çözümü B, her şablon tabanı için kodu farklı, açıkça adlandırılmış klasörlere ayırdığı için daha iyidir. Gelecekte daha iyi organizasyon/esneklik ve daha az karışıklık.