我试图简单地Site
从模板中获取当前的解析,如下所示:
<h3>{{ site.name }}</h3>
不幸的是,这并没有带来什么。
有没有办法从模板访问当前站点?
我试图简单地Site
从模板中获取当前的解析,如下所示:
<h3>{{ site.name }}</h3>
不幸的是,这并没有带来什么。
有没有办法从模板访问当前站点?
您的问题的标题假定“视图”和“模板”是可以互换的——它们不是。为了在模板中获取当前站点,需要将其添加到用于呈现模板的上下文中。如果您使用的是RequestContext
,您可以编写一个上下文处理器来自动执行此操作。
您可以编写一个上下文处理器来执行此操作,如下所示:
from django.contrib.sites.models import Site
def site_processor(request):
return { 'site': Site.objects.get_current() }
然后,将其添加到您的TEMPLATE_CONTEXT_PROCESSORS
中,并像这样使用它:
<h3>{{ site.name }}</h3>
奇怪的是,使用 bradleyayers 处理器给出了 Null 结果,因此我没有使用 Site 框架,而是使用了请求中的参数。
所以处理器看起来像这样:
def host_processor(request):
return { 'host': request.get_host() }
希望它有所帮助