【问题标题】:TemplateDoesNotExist while the file exists and permissions are correct文件存在且权限正确时的 TemplateDoesNotExist
【发布时间】:2012-03-13 17:37:48
【问题描述】:

我正在尝试从模板扩展,但我不断收到相同的 TemplateDoesNotExist 错误。所有其他页面,不扩展基本模板工作(他们只是有一些虚拟 html)

我做了一个 ls -l 并且文件存在并且所有权限都是相同的:

-rw-r--r-- 1 atrus users 1625 Mar 13 13:05 base.html
drwxr-xr-x 2 atrus users 4096 Mar 13 10:50 css
drwxr-xr-x 2 atrus users 4096 Mar 13 10:51 img
-rw-r--r-- 1 atrus users  136 Mar 13 13:14 index.html
-rw-r--r-- 1 atrus users  407 Mar 12 12:16 login.html
-rw-r--r-- 1 atrus users  662 Mar 12 03:21 register.html
-rw-r--r-- 1 atrus users   59 Mar 12 02:41 temp.html

所以不是权限问题,文件(base.html存在)

我正在调用(索引)的观点很简单:

def index(request):
    return render_to_response('menu/index.html')

而我的index.html如下:

{% extends 'base.html' %}

{% block title %}Home{% endblock title %}

{% block content %}
<p>here be content <p>
{% endblock content %}

错误发生在第一行。

我的 settings.py 的 TEMPLATE_DIRS 是:

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    '/home/atrus/Dropbox/workspace/menu/menu/templates'
)

【问题讨论】:

  • 您的settings.py 中的TEMPLATE_DIRS 是什么样的?
  • 你的TEMPLATE_DIRS 中应该有.../menu/menu/... 吗?不确定这是拼写错误还是实际设置

标签: django html django-templates


【解决方案1】:

您的模板文件夹中似乎没有menu 目录(假设您在其中执行ls)。你试过只做return render_to_response('index.html')

另外,正如我在评论中所述,您的TEMPLATE_DIRS 是正确的文件路径吗?我不确定你是否不小心复制了“菜单”

【讨论】:

  • 你是对的,它在子文件夹中,而不是直接在 TEMPLATE_DIRS 中。是的,菜单/菜单是正确的。只是一个创造的神器,对我来说在我的小项目上进行更改时真的没有什么大不了的。
【解决方案2】:

当您忽略评论时,您的 TEMPLATE_DIRS 设置就是这样:

TEMPLATE_DIRS = ('/home/atrus/Dropbox/workspace/menu/menu/templates')

这实际上是一个字符串,而不是一个元组。你需要一个逗号:

TEMPLATE_DIRS = ('/home/atrus/Dropbox/workspace/menu/menu/templates',)

【讨论】:

    猜你喜欢
    • 2011-06-25
    • 2013-07-15
    • 2014-01-11
    • 2018-07-05
    • 2016-12-25
    • 2013-05-19
    • 1970-01-01
    • 2018-08-05
    • 2013-02-14
    相关资源
    最近更新 更多