2014-03-27 44 views
0

Openshift是全新的,並且遵循各種分步指南。能夠在應用程序工作的同時獲得django 1.6,Python 2.7和Mezzanine 3.0.9 - 部分。出於某種原因,如果模板是HTML包含標記或view.py的一部分,則不會加載模板。Django模板在openshift上部署時未加載

當加載存取日誌時,看不到錯誤或任何可以通過的東西。該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 !!

+0

有時Openshift在傳遞某些文件時會出現問題。我也遇到了靜態和媒體文件的問題。它必須處理文件夾中的權限以及構建和deplyo腳本中的權限。檢查模板文件是否確實存在於部署目錄下的模板目錄中。 –

+0

所有文件都在那裏。一旦提供完整的模塊名稱即。導入語句中的project.app.file然後它完美地工作。 – green

+0

如果問題解決了,可以給自己的問題添加一個答案(是的,你可以) –

回答

0

通過爲導入語句提供完整的模塊名稱來解決問題。 例如

from projectname.appname.view import some_function 

我有,見下文,並造成這個問題。

from appname.view import some_function 

一旦提供了完整的模塊名稱,它就可以完美工作。

謝謝。