在openshift上部署时未加载Django模板

时间:2014-03-27 11:28:09

标签: python django templates openshift mezzanine

Openshift完全不熟悉并且一直关注各种stepbystep指南。能够在应用程序工作的情况下获得django 1.6,Python 2.7和Mezzanine 3.0.9 - 部分。出于某种原因,如果模板是HTML include标记的一部分或view.py的一部分,则不加载模板。

在追踪访问日志时,无法看到错误或其他任何内容。 settings.py有

PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
PROJECT_DIRNAME = PROJECT_ROOT.split(os.sep)[-1]
TEMPLATE_DIRS = (os.path.join(PROJECT_ROOT, "templates"),) 

似乎无法找到模板文件的路径但不知道为什么因为TEMPLATE_DIRS的值在检查时似乎是正确的。一切都在我的本地机器上正常工作,但在Openshift上没有。任何指针都非常受欢迎,因为谷歌搜索和搜索了几天仍然没有在哪里。

谢谢。

编辑: 决定开启DEBUG模式,调查更加清晰。事实证明,在导入方法时没有提供绝对模块名称,应用程序只是失败但在本地机器上不是这种情况。 例如而不是提供     来自projectname.appname.view导入some_function 我在放     来自appname.view import some_function

傻傻的我。那教我好几天的课程!!! durr !!

1 个答案:

答案 0 :(得分:0)

通过为import语句提供完整的模块名称来解决问题。 例如

    from projectname.appname.view import some_function 

我有,见下文,这导致了这个问题。

    from appname.view import some_function

一旦提供了完整的模块名称,它就能完美运行。

谢谢。