Sadece şöyle ayrıştırma için bir şablon içinden akım Site
almaya çalışıyorum:Geçerli Site bir şablondan erişilebilir mi?
<h3>{{ site.name }}</h3>
Maalesef bu şey getirmiyorsa.
Geçerli siteye şablondan erişmenin bir yolu var mı?
Sadece şöyle ayrıştırma için bir şablon içinden akım Site
almaya çalışıyorum:Geçerli Site bir şablondan erişilebilir mi?
<h3>{{ site.name }}</h3>
Maalesef bu şey getirmiyorsa.
Geçerli siteye şablondan erişmenin bir yolu var mı?
Sorunuzun başlığı "görüntü" ve "şablon" öğelerinin birbirinin yerine geçebileceğini varsayar - bunlar değil. Mevcut siteyi bir şablona almak için, şablonu oluşturmak için kullanılan içeriğe eklenmesi gerekir. Bir RequestContext
kullanıyorsanız, bunu otomatik olarak yapmak için bir içerik işlemci yazabilirsiniz. senin TEMPLATE_CONTEXT_PROCESSORS
ekleyebilir Sonra
from django.contrib.sites.models import Site
def site_processor(request):
return { 'site': Site.objects.get_current() }
ve böylece gibi kullanmak:
Öyle gibi bunu yapmanın bir bağlam işlemci yazabilir
<h3>{{ site.name }}</h3>
Weirdly, bradleyayers işlemci kullanan Null sonuç verdi, bu nedenle Site çerçevesini kullanmak yerine, isteğin içinde parametreyi kullandım.
def host_processor(request):
return { 'host': request.get_host() }
ben `django.views.generic.simple.direct_to_template` kullanıyorum
yardımcı Umut, bu yüzden doğru, ele alınmalıdır:
Yani işlemci böyle görünecek? Bunun için yerleşik bir içerik işlemci yok mu? –
Evet, 'direct_to_template'' RequestContext' kullanır, ancak Django'da olmadığı için kendi içerik işlemcinizi yazmanız gerekir. Alternatif olarak, geçerli siteyi içeriğe ekleyen bir argümanı 'direct_to_template' öğesine iletebilirsiniz. –
İşlev, site yerine "site_processor" olarak adlandırılıyor? –