繁体   English   中英

Django 1.8 BASE_DIR模板问题

[英]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_headerAdminSite类中定义的变量。 您对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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM