django模板导致错误500

时间:2016-08-11 21:48:04

标签: django django-templates passenger dreamhost

软件版本:     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。

我在这里完全失败了。我将不胜感激任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

您的DIRS设置看起来不对。您想要合并BASE_DIR'templates'

'DIRS': [os.path.join(BASE_DIR, 'templates')],