2010-12-16 8 views
1

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.

Antwort

1

Einfache Dinge zuerst für Django zu überprüfen: Dateiberechtigungen, MEDIA.ROOT, urls.py, ROOT_URLCONF in settings_local.py

+0

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

+0

Versuchen Sie, ROOT_URLCONF = 'URLs', die die Standardeinstellung sein sollte, aber nicht immer festgelegt ist. –

+0

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