Software-Versionen: Python: 3.5.2 Django: 1.10django Vorlage verursacht Fehler 500
Ich versuche, ein django Projekt auf eine Website Dreamhost zu implementieren, aber wenn ich versuche, meine Basis-Templates zu erweitern gibt es mir ein Server Error 500. Meine Ansicht gerendert nur gut, bis ich die {% erweitert 'base.html'%} zu der Vorlage, die die Ansicht zu rendern versucht.
Was ist frustrierend ist, dass mit den gleichen Dateien, die lokale Entwicklungsversion funktioniert gut (d. H. Mit Python manage.py runserver).
Hier ist meine Projektskizze:
<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
Hier ist meine passenger_wsgi.py Datei:
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()
Hier ist der relevante Teil meines settings.py
istimport 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',
],
},
},
]
I habe auch versucht, den Eintrag Templates = ['DIRS':] zu
zu ändern 10/home/<username>/<website>.com/simplistic/templates
Dies funktioniert auch nicht.
Die Tatsache, dass die manage.py runserver-Version funktioniert, während die Produktionsumgebung nicht zu der Annahme führt, dass ein Problem mit meiner passagier_wsgi.py-Datei vorliegen könnte, aber wenn ich einen dieser Pfade ändere, dh ich kann nicht einmal auf main.html zugreifen, wenn {% extends 'base.html'%} ausgeschaltet ist.
Ich bin hier vollständig verloren. Ich würde jede Hilfe schätzen. Vielen Dank!
Das hat den Trick! Ich danke dir sehr! Warum benötigt die Produktionsversion (debug = False) den Join, aber die Entwicklungsversion (debug = True) nicht? – Neighlyd
Der Code ohne den Join sollte nirgends funktionieren, deshalb bin ich nicht sicher, warum es in der Entwicklung funktioniert. Vielleicht haben Sie eine Kopie der Basisvorlage im Verzeichnis 'simplistic' oder' main/templates', das Django findet. – Alasdair