Ich habe eine Django-Anwendung auf einem neuen Host installiert, aber der Runserver schlägt fehl. Der erste HTTP-Treffer erhält den Fehler "Import nach Dateiname wird nicht unterstützt."Debugging Django App Installation
Der letzte Fehler lautet:
File "/usr/lib/pymodules/python2.6/django/utils/importlib.py" in import_module
35. __import__(name)
, wo der Wert des Namens '/ Webcode/Urls/Urls' ist. Dies ist der Wert von ROOT_URLCONF.
Dies funktioniert auf dem Entwicklungshost. In beiden Boxen läuft Django 1.1.1, aber in der Entwicklung läuft Python 2.5.2 und in der neuen Box 2.6.5.
Weder noch DJANGO_SETTINGS_MODULE; Die Datei settings.py befindet sich im selben Verzeichnis wie manage.py. Der neue Host hat PYTHONPATH auf das Verzeichnis eingestellt, in dem sich die Django-Anwendung befindet, und meine Django-Komponententests passieren, obwohl keiner von ihnen die URLs trifft.
Ich habe versucht, den Wert von ROOT_URLCONF zu einem gepunkteten Modul Verweis, aber alle Permutationen fehlschlagen.
Irgendwelche Vorschläge, wie ich über das Debugging gehen kann?
BEANTWORTET: behoben, indem Linie würde zu
ROOT_URLCONF='webcode.urls.urls'
ich vorher ohne die Anführungszeichen den Wert worden Einstellung, als ob es eher ein Python Referenz waren als eine Zeichenfolge.
Dateiberechtigungen für Urls/und seine __init__.py und urls.py sind gleich auf beide . MEDIA_ROOT sieht auf der neuen Box richtig aus. Ich habe keine settings_local.py Datei, aber denke, das Problem könnte in ROOT_URLCONF in settings.py sein. – chernevik
Versuchen Sie, ROOT_URLCONF = 'URLs', die die Standardeinstellung sein sollte, aber nicht immer festgelegt ist. –
Hat nicht funktioniert, aber erzeugte eine neue Fehlermeldung ('kein Modul namens URLs'. Also ich vermutete 'ROOT_URLCONF = webcode.urls.urls' und, hey presto, sie funktioniert! Danke für den Hinweis. – chernevik