【发布时间】:2014-03-27 11:28:09
【问题描述】:
对 Openshift 完全陌生,并且一直遵循各种分步指南。能够让 django 1.6、Python 2.7 和 Mezzanine 3.0.9 与应用程序一起工作 - 部分。出于某种原因,如果模板是 HTML 包含标记的一部分或 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 导入 some_function
我傻了。那教我好几天的课!!!durr!!
【问题讨论】:
-
有时 Openshift 在传递某些文件时会出现问题。我也遇到了静态文件和媒体文件的问题。它与文件夹中的权限以及构建和部署脚本中的权限有关。检查您的模板文件是否确实存在于部署目录下的模板目录中。
-
所有文件都在那里。一旦提供完整的模块名称,即。 import 语句中的 project.app.file 则一切正常。
-
如果问题已解决,请为您自己的问题添加答案(是的,您可以)
-
Err... 我无法回答自己的问题,因为我是新手,因此声誉不足 10 个。系统建议我在 8 小时后回答我自己的问题,或者编辑我所做的问题。系统允许时我会关闭它。对此感到抱歉,感谢 Luis 的建议。
-
@green 你有没有改变你的 url.py ???
标签: python django templates openshift mezzanine