2009-04-13 6 views
2

ich den Weg meines django Projekt vonEs kann keine django Server in meinem Computer starten

$ export DJANGO_SETTINGS_MODULE=/Users/masi/Documents/Test/djangobook/ch3.settings 

exportiert betreibe ich erfolglos

$ django-admin.py runserver 
Error: Could not import settings '/Users/masi/Documents/Test/djangobook/ch3.settings' (Is it on sys.path? Does it have syntax errors?): Import by filename is not supported. 

Wie können Sie Django-Server ohne Fehlermeldung starten?

Antwort

3

Ihre $DJANGO_SETTINGS_MODULE sollte nur auf ch3.settings eingestellt werden. Stellen Sie nur sicher, dass die ch3 App auch in Ihrem $PYTHONPATH ist.

Zum Beispiel, wenn Ihre Anwendung auf /Users/masi/Documents/Test/djangobook/ ist, dann setzen Sie $DJANGO_SETTINGS_MODULE-ch3.settings, und stellen Sie sicher, dass Ihr $PYTHONPATH/Users/masi/Documents/Test/djangobook enthält.

$ export PYTHONPATH=/Users/masi/Documents/Test/djangobook/ 
$ export DJANGO_SETTINGS_MODULE=ch3.settings 
+0

@mipadi: Ich habe versucht, die PATHs dauerhaft erfolglos zu machen, indem ich die Codes zu meinem .bashrc. Ich habe den Code mit und ohne '' für den PATH ausprobiert. –

+0

Wenn Sie OS X verwenden, beachten Sie, dass die Variable PATH in ~/.bash_profile eingestellt werden sollte: –

+0

@Jarret: Danke! Das Problem ist jetzt gelöst. Ich hatte einen Tippfehler in meinem PATH. –

0

Sie können auch versuchen manage.py.

Von Ihrem Projektverzeichnis, führen

$ python manage.py runserver

Auch wenn es nur ein Wrapper, manage.py funktioniert immer für mich während django-admin.py nicht der Fall ist. Offensichtlich machen wir beide etwas falsch (ich habe gerade angefangen mit Django), aber das sollte dich zumindest zum Laufen bringen.

1

Aus dem django docs auf django-admin.py and manage.py:

django-admin.py ist Djangos Befehlszeilenprogramm für administrative Aufgaben.

Darüber hinaus wird manage.py automatisch in jedem Django-Projekt erstellt. manage.py ist eine dünne Hülle um django-admin.py, die django-admin.py vor Delegieren für Sie kümmern sich um zwei Dinge nimmt:

  • Es setzt Paket Ihr Projekt auf sys.path.
  • Die Umgebungsvariable DJANGO_SETTINGS_MODULE wird so festgelegt, dass sie auf die Datei settings.py Ihres Projekts verweist.

Im Allgemeinen, wenn Sie an einem einzigen Django-Projekt arbeiten, ist es einfacher zu verwalten.py

Also, wenn die Verzeichnisstruktur wie folgt aussieht:

djangobook/ 
    ch3/ 
     settings.py 

Gehen Sie wie folgt und Sie können alle Variablen DJANGO Umgebung ignorieren (es sei denn, Sie einige wirklich seltsam installieren):

$ cd /Users/masi/Documents/Test/djangobook/ch3/ 
$ python manage.py runserver 
+0

Ich bekomme die folgende Fehlermeldung http://dpaste.com/32840/ –

+0

Klingt wie der Python, den Sie ausführen, hat keinen Django in seinen Site-Paketen oder Pfad. Wie viele Kopien von Python haben Sie auf Ihrem System installiert? Was passiert, wenn Sie in das ch3/-Verzeichnis wechseln, den Python-Interpreter (Typ: python) ausführen und 'import django' eingeben? –

+0

@ Jarret: Ich habe nur einen Python. Ich bekomme den gleichen Fehler, http://dpaste.com/32875/ –

1

Für diejenigen, die auf den gleichen Fehler stoßen, wenn Sie versuchen, etwas ähnliches zu tun:

python manage.py runserver --settings=settings_dev 

Wenn die Einstellungsdatei in einem App-Verzeichnis ist, etwa so:

mysite/ 
    settings.py 
    settings_dev.py 
requirements.txt 
manage.py 

Sie müssen nicht angeben $PYTHONPATH (zumindest nicht mehr als vier Jahre) Sie müssen nur sicherstellen, dass Ihr --settings Wert enthält die Ordnername — Sie müssen auch Punktnotation, Schrägstriche nicht tun.

python manage.py runserver --settings=mysite.settings_dev 

Es ist die gleiche Geschichte, wenn ein $DJANGO_SETTINGS_MODULE Wert exportieren:

export DJANGO_SETTINGS_MODULE=mysite.settings_dev 

Könnte die Zeit, die ich sparen jemand anderes verloren, dass der Arbeit aus.

Verwandte Themen