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')],