如何在django模板中获取网站名称?

时间:2014-01-17 22:14:21

标签: python django django-templates

在管理界面中,我可以看到如何指定网站的名称。但我找不到如何在我的模板中使用它的文档。

2 个答案:

答案 0 :(得分:0)

您可以在类request.RequestSite 中设置网站名称。它是一个类,它共享Site的主要接口(即,它具有domain和name属性),但从Django HttpRequest对象而不是从数据库获取其数据。您必须在其中使用 __ init __(request)来将名称和域属性设置为get_host()的值。

联合框架中,标题和描述模板自动访问变量 {{site}} ,该变量是代表当前站点的Site对象。另外,如果您未指定完全限定的域,则提供项目URL的钩子将使用当前Site对象中的域。

身份验证框架中, django.contrib.auth.views.LoginView 将当前站点名称作为 {{site_name}} 传递给模板>。

Reference

答案 1 :(得分:0)

我遇到了类似的问题,并在这篇文章中找到了答案:How to display the site's user friendly name in a template in Django?

基本上,在我的settings.py中,我必须将'django.core.context_processors.request',添加到我的模板->选项-> context_processors中。然后,您可以使用{{ request.site.name }}访问模板中的站点名称。