django 模板导致错误 500
django template causes Error 500
软件版本:
Python:3.5.2
姜戈:1.10
我正在尝试将 Django 项目部署到 Dreamhost 站点上,但每当我尝试扩展我的基本模板时,它都会给我一个服务器错误 500。我的视图呈现得很好,直到我包含 {% extends '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',
],
},
},
]
我也试过将模板 = [ 'DIRS':] 条目更改为
/home/<username>/<website>.com/simplistic/templates
这也不行。
manage.py runserver 版本在生产环境中运行的事实并没有让我相信我的 passenger_wsgi.py 文件可能有问题,但如果我更改其中任何一个它破坏了一切的路径(即我什至无法访问 main.html {% extends 'base.html' %} 关闭)。
我在这里完全不知所措。我将不胜感激任何帮助。谢谢!
您的 DIRS
设置看起来不对。你想合并 BASE_DIR
和 'templates'
.
'DIRS': [os.path.join(BASE_DIR, 'templates')],
软件版本: Python:3.5.2 姜戈:1.10
我正在尝试将 Django 项目部署到 Dreamhost 站点上,但每当我尝试扩展我的基本模板时,它都会给我一个服务器错误 500。我的视图呈现得很好,直到我包含 {% extends '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',
],
},
},
]
我也试过将模板 = [ 'DIRS':] 条目更改为
/home/<username>/<website>.com/simplistic/templates
这也不行。
manage.py runserver 版本在生产环境中运行的事实并没有让我相信我的 passenger_wsgi.py 文件可能有问题,但如果我更改其中任何一个它破坏了一切的路径(即我什至无法访问 main.html {% extends 'base.html' %} 关闭)。
我在这里完全不知所措。我将不胜感激任何帮助。谢谢!
您的 DIRS
设置看起来不对。你想合并 BASE_DIR
和 'templates'
.
'DIRS': [os.path.join(BASE_DIR, 'templates')],