[英]Django 1.8 BASE_DIR template issue
我是Django的新手,遇到了一个让我难过的错误。 我只是将基本网站放在一起并使用本教程作为指导,但我遇到了有关模板的问题。 我在manage.py所在的目录中创建了一个templates目录,在模板中创建了一个admin目录,并根据教程在admin目录中复制/粘贴了base_site.html。 然后我更改了一些标题,保存了所有内容,重新启动了服务器,并且......没有。 没有错误,但没有变化。 就好像我什么也没做。 我已经尝试了这里建议的各种修复,但似乎没有工作。 就像找不到模板目录一样,应用程序正在使用默认值。 以下是我现在的基础知识:
目录结构:项目>应用程序,模板> admin> base_site.html,manage.py等。
在我的settings.py中:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
和
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
并在base_site.html中:
<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('THIS IS WHAT I CHANGED') }}</a></h1>
我真的希望有人能指出我正确的方向。
这一行:
{{ site_header|default:_('THIS IS WHAT I CHANGED') }}
正在评估site_header
,如果找到False
,将输出默认值。 site_header
是AdminSite
类中定义的变量。 您对site_header
描述没有理由为False
,因此将显示site_header
,而不是您更改的文本。
请参见Default filter
说明
默认
如果value的计算结果为False,则使用给定的默认值。 否则,使用该值。
例如:
{{value | default:“nothing”}}如果value为“”(空字符串),则输出将为空。
这里: https : //docs.djangoproject.com/en/1.8/ref/templates/builtins/#default
有一些方法可以更改site_header
,您可以基于AdminClass
创建自定义模型,然后为此新实例定义site_header
。 这意味着也要定义一个新的URL。
或者您可以设置site_header:
django.contrib.admin.AdminSite.site_header =“新标题”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.