Xos*_*ted 3 django django-templates django-cms
我正在寻找一种在模板中显示我的Django-CMS站点名称的方法。
我按照本指南创建了一个基本的Django-CMS网站。默认站点名为Example.com,我可以在管理部分将其更改为“我的超级站点”。接下来,我按照本指南尝试自定义主题并将其应用到主题。建议用于{{ request.site.name }}在页面上显示站点名称。但是,它变成空的,也是如此{{ request.site }}。
我进行了进一步的搜索,发现几页的主题越老越接近于这个话题。像这样的最新建议表明,这与django-cms无关,而与django本身和站点框架有关。
我看着的文件,特别是这个页面和这一个,如果我正确理解,表示该网站的中间件,一旦被激活,包括在请求对象站点对象在模板中可用。我检查并启用了站点框架(在INSTALLED_APPS设置中定义了“ django.contrib.sites”,定义了SITE_ID并迁移了)。所以,我不明白为什么{{ request.site }}是空的。
为了澄清起见,我不是在寻找域名或主机。我正在寻找用户友好的名称,该名称在django-cms的管理/站点“更改站点”部分的“显示名称”下找到。
谢谢您的帮助。
确保添加'django.core.context_processors.request'到上下文处理器。
像这样:
TEMPLATES = [
{
...
'OPTIONS': {
'context_processors': [
...
'django.core.context_processors.request',
],
},
},
]
Run Code Online (Sandbox Code Playgroud)
同时添加django.contrib.sites.middleware.CurrentSiteMiddleware到您的MIDDLEWARE设置。
| 归档时间: |
|
| 查看次数: |
723 次 |
| 最近记录: |