Python 模板适用于本地主机,但不适用于生产/实时服务器

Python 模板适用于本地主机,但不适用于生产/实时服务器,python,django,mod-wsgi,Python,Django,Mod Wsgi,我有一个识别顶层(应用程序文件夹上方)静态文件和模板文件的设置,如下所示: 它在本地环境下运行良好,但在网上我可以看到: TemplateDoesNotExist at / home.html 什么可能导致这种不一致?试试这个 BASE_DIR = os.path.dirname(os.path.abspath(__file__)) 如果不起作用,请在变量中声明模板路径,如 template_path = /path/to/template TEMPLATE_PATH_DIRS = (

我有一个识别顶层(应用程序文件夹上方)静态文件和模板文件的设置,如下所示:

它在本地环境下运行良好,但在网上我可以看到:

TemplateDoesNotExist at /

home.html
什么可能导致这种不一致?

试试这个

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
如果不起作用,请在变量中声明模板路径,如

template_path = /path/to/template

TEMPLATE_PATH_DIRS = (
template_path + '/templates',
)

TEMPLATE_DIRS = TEMPLATE_PATH_DIRS

它会工作的,试试看。

奇怪的进展(这是在我得到你的答案之前发生的)我得到随机“模板未找到错误--请参见此处:(不断刷新它,它会产生随机而非无模板错误)非常奇怪。你尝试过我的方法吗?再次发生这种情况?当我在设置文件中使用realpath时。这种情况刚刚发生。但我建议选择2。因为在Django文档中,它说Django将选择它找到的第一个名称匹配的模板,如果在不同的应用程序中有同名的模板,Django将无法使用为了区分它们,我们需要能够将Django指向正确的一个,确保这一点的最简单方法是对它们进行命名。也就是说,将这些模板放在另一个为应用程序本身命名的目录中。
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
template_path = /path/to/template

TEMPLATE_PATH_DIRS = (
template_path + '/templates',
)

TEMPLATE_DIRS = TEMPLATE_PATH_DIRS