Django-overextends overextends şablon etiketi sağlayan Django yeniden uygulama, Django adlı bir drop-in yerine dairesel şablon devralma kullanmanıza olanak verir etiketi, uzanır.
overextends için birincil kullanımı durum aynı anda geçersiz ve kendi Django projede, diğer yeniden uygulamalardan şablonları uzatmak için.
Örnek
Örnekteki aşkına, projede birlikte uygulamalar Uyg1 ve App2 ile aşağıdaki ayarlar modülü ve şablonları, düşünün:
# Settings.py
INSTALLED_APPS (=
& Nbsp; "app1",
& Nbsp; "app2",
& Nbsp; "overextends"
)
TEMPLATE_LOADERS (=
& Nbsp; "django.template.loaders.filesystem.Loader"
& Nbsp; "django.template.loaders.app_directories.Loader"
)
PROJECT_ROOT = os.path.dirname (os.path.abspath (__ FILE__))
TEMPLATE_DIRS = (os.path.join (PROJECT_ROOT, "şablonlar"),)
Başlık
{% Blok ana%}
Uyg1 bir paragraf
{% ENBLOCK%}
{% "Sayfaları / page.html"% overextends}
{% Blok ana%}
App2 bir paragraf, bu APP1 ana bloğun üstünde olmak istiyor
{{Block.super}}
{% ENBLOCK%}
{% "Sayfaları / page.html"% overextends}
{% Blok ana%}
{{Block.super}}
Diğer ana blokları altında projenin şablon dizininde bir paragraf
{% ENBLOCK%}
sayfaları / page.html yüklü zaman render elde edilen HTML olacaktır:
Başlık
App2 bir paragraf, bu APP1 ana bloğun üstünde olmak istiyor
Uyg1 bir paragraf
Diğer ana blokları altında projenin şablon dizininde bir paragraf
Telif Hakkı 2012
Bu nasıl çalıştığını yaklaşımı, ve alternatif yaklaşımlar kullanmak neden ayrıntılı bir analiz için, benim ilk blog yazısı okundu: Django için Dairesel Şablon Kalıtım.
Kurulum
Django-overextends yüklemek için en kolay yolu aşağıdaki komutu çalıştırarak pip kullanarak PyPi doğrudan geçerli:
& Nbsp; install U django-overextends pip
Aksi takdirde Django-overextends indirebilirsiniz ve doğrudan kaynağından yüklemek:
& Nbsp; piton setup.py install
Proje Yapılandırması
Bir kez sizin projenizin ayarları modülünde INSTALLED_APPS için overextends uygulaması ekleyerek Django-overextends kullanmak için proje yapılandırabilirsiniz kurulu:
INSTALLED_APPS (=
& Nbsp; # ... Burada diğer uygulamalar ...
& Nbsp; 'overextends'
)
Etiket paketi overextends.templatetags.overextends_tags tarafından sağlanan uzar, sizin şablonları {% jeneratörün overextends_tags%} kullanmak gereksiz olduğunu unutmayın. Etiketi uzanır gibi, overextends senin şablonu ilk etiket olmalıdır, bu yüzden otomatik olarak her şablonda kendi etiket kitaplığını yüklemek için ihtiyacını ortadan kaldırarak, Django yerleşik şablon etiketleri eklenir.
Gereksinimler :
- Python
- Django
Yorum Bulunamadı