当前网站是否可以从模板访问?
我试图简单地从模板中获取当前的 Site
进行解析,如下所示:
<h3>{{ site.name }}</h3>
不幸的是,这不会带来任何结果。
有没有办法从模板访问当前站点?
I'm trying to simply get the current Site
from within a template for parsing like so:
<h3>{{ site.name }}</h3>
Unfortunately, this isn't bringing anything up.
Is there a way to get access to the current site from a template?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的问题的标题假设“视图”和“模板”是可以互换的 - 它们不是。为了将当前站点放在模板中,需要将其添加到用于渲染模板的上下文中。如果您使用的是 ,您可以编写上下文处理器自动执行此操作。
您可以编写上下文处理器这样做:
然后,将其添加到您的
template_context_processors
,然后像这样使用:The title of your question presumes that "view" and "template" are interchangeable -- they're not. In order to get the current site in a template, it needs to be added to the context that is used to render the template. If you're using a
RequestContext
, you can write a context processor to do this automatically.You can write a context processor to do this like so:
Then, add it to your
TEMPLATE_CONTEXT_PROCESSORS
, and use it like so:奇怪的是,使用Bradleyayers处理器给出了无效的结果,因此我不使用站点框架,而是在请求中使用了参数。
因此,处理器看起来就是这样:
希望它有所帮助
Weirdly, using the bradleyayers processor gave Null results, so instead of using the Site framework, I used the parameter inside the request.
So the processor will look like that :
Hope it helped