django 500.html on prodserver未显示 - 而是500内部服务器错误

时间:2013-10-28 06:34:06

标签: python django apache

我正在部署django页面,最后它正在运行,但在生产服务器中找不到500个模板,我在var/log/apache2/error.log中收到此错误:

raise TemplateDoesNotExist(name)
TemplateDoesNotExist: 500.html

我创建了500.html和404.html模板,它们位于templates目录下。这是我的settings.py

import os
gettext = lambda s: s
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))

TEMPLATE_DIRS = (
    "templates",
    os.path.join(PROJECT_PATH, "templates"),
)
我错过了什么?为什么服务器找不到500.html,即使它在那里?

3 个答案:

答案 0 :(得分:1)

by getting the same issue before i simple replace like this :    

import os
TEMPLATE_DIRS = (
    os.path.join(os.path.dirname(__file__),'templates').replace('\\','/'),

答案 1 :(得分:0)

正确拼写,尝试模板不是模板吗?

答案 2 :(得分:0)

使用Google app Engine时可能会遇到类似的错误。 是的,模板应该是复数“模板” 一个常见的错误是在yaml文件中包含模板目录

- url: /templates
  static_dir: templates

如果你删除这两行,你的代码将正常工作,假设你的路径如下:

path = os.path.join(os.path.dirname(__file__), 'templates/home.html')