软件版本: Python:3.5.2 Django:1.10
我试图将django项目部署到Dreamhost站点上,但每当我尝试扩展我的基本模板时,它都会给我一个服务器错误500.我的视图渲染得很好,直到我包含{%extends&# 39; base.html文件' %}到视图尝试呈现的模板。
令人沮丧的是,使用完全相同的文件,本地开发版本可以正常工作(即使用python manage.py runserver)。
这是我的项目大纲:
<website.com>
├─passenger_wsgi.py
└─simplistic
└──simplistic
| ├─__init__.py
| ├─settings.py
| ├─urls.py
| └─wsgi.py
├──main
| ├─__init__.py
| ├─urls.py
| ├─views.py
| └─templates
| └─main
| └─main.html
├──templates
| └─base.html
└──manage.py
这是我的passenger_wsgi.py文件:
import sys, os
cwd = os.getcwd()
sys.path.append(cwd)
INTERP = "/home/<my_user_name>/.virtualenvs/simplistic_production/bin/python"
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)
sys.path.append('/home/<my_user_name>/<my_website>.com/simplistic')
os.environ['DJANGO_SETTINGS_MODULE']="simplistic.settings"
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
以下是我的settings.py
的相关部分import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR, 'templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
我也尝试将模板= [&#39; DIRS&#39;:]条目更改为
/home/<username>/<website>.com/simplistic/templates
这也不起作用。
manage.py runserver版本在生产环境不起作用的事实导致我认为我的passenger_wsgi.py文件可能存在问题,但是如果我改变其中任何一条路径它会破坏一切(即我在关闭{%extends&#39; base.html&#39;%}时甚至无法访问main.html。
我在这里完全失败了。我将不胜感激任何帮助。谢谢!
答案 0 :(得分:1)
您的DIRS
设置看起来不对。您想要合并BASE_DIR
和'templates'
。
'DIRS': [os.path.join(BASE_DIR, 'templates')],