2016-05-20 16 views
0

stelle ich virtualenv für Python 2,7django-admin runserver Fehler

16% source Work/Django/env/bin/activate 

nächstes erstellen Projekt

django-admin startproject myproject 

erstellen App

cd myproject 
django-admin startapp contact 

und versuchen laufen dev Server

16% django-admin runserver 

Ich erhalte einen Fehler

Traceback (jüngste Aufforderung zuletzt): Datei "/ home/dima/Arbeit/Django/env/ist/django-admin", Zeile 11, in sys.exit (execute_from_command_line()) File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/ init Py", Linie 353, in execute_from_command_line utility.execute() File "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/ init Py", Linie 345, führen in self.fetch_command (Unterbefehl) .run_from_argv (self.argv) Datei "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/ init. py ", Zeile 195, in fetch_command klass = load_command_class (app_name, Unterbefehl) Datei" /home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/ init .py ", Zeile 39, in load_command_class Modul = import_module ('% s.management.commands.% s'% (app_name, name)) Datei" /usr/lib/python2.7/importlib/ init .py ", Zeile 37, in import_modul importieren (Name) Datei "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/core/management/commands/runserver.py", Zeile 16, in von django.db.migrations. executor import MigrationExecutor Datei "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/executor.py", Zeile 7, in von .loader import MigrationLoader Datei "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/loader.py", Zeile 10, in von django.db.migrations.recorder Import MigrationRecorder Datei "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", Zeile 12, in Klasse MigrationRecorder (Objekt): Datei "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/migr ations/recorder.py ", Zeile 26, in MigrationRecorder Klasse Migration (models.Model): Datei" /home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db /migrations/recorder.py ", Zeile 27, in Migration app = models.CharField (max_length = 255) Datei" /home/dima/Work/Django/env/local/lib/python2.7/site-packages/ django/db/models/fields/init .py ", Linie 1072, in init super (CharField, selbst). init (* args, ** kwargs) Datei "/home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/db/models/fields/ init.py "Linie 166, in init self.db_tablespace = db_tablespace oder settings.DEFAULT_INDEX_TABLESPACE File" /home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/conf/ init Py "Zeile 55, in GetAttr self._setup (name) File" /home/dima/Work/Django/env/local/lib/python2.7/site-packages/django/conf/ Py“iNIT, Zeile 41, in _setup % (DESC, ENVIRONMENT_VARIABLE)) django.core.exceptions.ImproperlyConfigured. spezifische Einstellung DEFAULT_INDEX_TABLESPACE, aber Einstellungen konfiguriert sind nicht Sie müssen entweder die Umgebungsvariable DJANGO_SETTINGS_MODULE oder c definieren, all settings.configure() vor dem Zugriff auf die Einstellungen. Wie beheben Sie diesen Fehler?

Antwort

2

Wenn man sieht, was das manage.py Skript macht (dieses Skript wurde im myproject Verzeichnis erstellt, wenn Sie django-admin startproject myproject laufen), exportiert es die Umgebungsvariable DJANGO_SETTINGS_MODULE und läuft dann django-admin (na ja, es tut es durch django.core aber es tut so ziemlich das).

django-admin muss das Python-Modul der Einstellungen für Ihr Projekt kennen, und diese Information ist in dieser Umgebungsvariablen vorhanden.


daher innerhalb des myproject Verzeichnis wird Sie entweder laufen:

python manage.py runserver 

und das manage.py Skript wird für Sie die Umwelt-Setup tun, oder Sie django-admin zwingen können die Einstellungen Lage zu lesen von der Kommandozeile:

django-admin runserver --pythonpath=. --settings="myproject.settings" 

die --pythonpath switch wird nicht benötigt, wenn Sie Ihr Projektverzeichnis in den Standard-python-Pfad aufgenommen haben.