2012-12-04 143 views
1

我剛剛在服務器上用apache2安裝了mod_wsgi。 我也安裝了django。apache2上的django項目+ mod_wsgi - TemplateDoesNotExist

我在項目中創建了項目和應用程序(實際上我從本地機器上傳了應用程序)。

我的應用程序中的url-view映射工作正常,但當視圖試圖呈現任何模板時,會出現TemplateDoesNotExist異常。

我所有的模板是/ [項目]/[應用] /模板/ [應用](也有此目錄中的一些子目錄如「元素」和「錯誤」與特定的模板)

不管怎麼說似乎django/wsgi沒有在我的應用程序中看到模板 - 在我的本地計算機上(使用django開發服務器),它工作正常,django在我的[app]/templates目錄中找到模板。

我使用此路徑 「[應用] /base.html」 或 「[應用] /elements/some_elements.html」

在我的httpd.conf

渲染模板:

WSGIScriptAlias /wsgi /var/src/[project]/[project]/wsgi.py 
WSGIPythonPath /var/src/[project]/ 

<Directory /var/src/[project]> 
<Files wsgi.py> 
Order deny,allow 
Allow from all 
</Files> 
</Directory> 
+0

apache是​​否對模板有讀取權限? –

+1

確保您沒有在配置中使用相對路徑名稱。 Apache下的當前工作目錄不會在項目所在的位置。 –

回答

1

待辦事項settings.py中的TEMPLATE_DIRS指向此服務器的正確位置?

+0

不 - 我認爲模板加載器應該在我的應用程序中找到它 - 我不想爲我的項目添加一些額外的配置。調試消息顯示「使用loader django.template.loaders.app_directories.Loader:」 - 所以它應該在我的應用程序中找到它,不應該嗎?即使在Django教程中,它也足以將模板放在app/templates/app目錄中... – user606521