DJANGO_SETTINGS_MODULE nicht definiert ist?
import os
from os.path import abspath, dirname
import sys
# Set up django
project_dir = abspath(dirname(dirname(__file__)))
sys.path.insert(0, project_dir)
os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"
Habe ich gemacht, und ich bekomme immer noch
Traceback (most recent call last):
File "main.py", line 4, in <module>
from django.middleware.csrf import get_token
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/middleware/csrf.py", line 14, in <module>
from django.utils.cache import patch_vary_headers
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/utils/cache.py", line 24, in <module>
from django.core.cache import cache
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/core/cache/__init__.py", line 68, in <module>
cache = get_cache(settings.CACHE_BACKEND)
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/utils/functional.py", line 276, in __getattr__
self._setup()
File "/var/lib/system-webclient/system-webenv/lib/python2.6/site-packages/django/conf/__init__.py", line 38, in _setup
raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined
War es ein kleines script, das einige django-Funktionalität, aber es sagt mir Umgebungsvariable Problem.
Was kann ich tun? Verbrachte ich meinen ganzen Nachmittag dem Lesen vieler Beiträge....
Danke für die Hilfe! Dies war mein 1. mal, es zu schlagen.
Den traceback. Es gibt nicht erziehen unsere manuelle Ausnahme. Es ist die gleiche Ausnahme wie oben.
webclient/main.py
import os
from os.path import abspath, dirname
import sys
path = '/var/lib/graphyte-webclient/webclient'
if path not in sys.path:
sys.path.append(path)
sys.path.insert(0, path)
os.environ["DJANGO_SETTINGS_MODULE"] = "webclient.settings"
raise Exception("DJANGO_SETTINGS_MODULE = " + str(os.environ["DJANGO_SETTINGS_MODULE"]))
.... other things
In manage.py shell
>>> from webclient.settings import settings
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: cannot import name settings
>>> import webclient
>>> webclient
<module 'webclient' from '/var/lib/system-webclient/webclient/../webclient/__init__.pyc'>
>>> import webclient.settings
>>> webclient.settings
<module 'webclient.settings' from '/var/lib/system-webclient/webclient/../webclient/settings.pyc'>
webclient/deploy/pinax.fcgi
import os
import sys
from os.path import abspath, dirname, join
from site import addsitedir
sys.path.insert(0, abspath(join(dirname(__file__), "../../")))
from django.conf import settings
os.environ["DJANGO_SETTINGS_MODULE"] = "webclient.settings"
sys.path.insert(0, join(settings.PROJECT_ROOT, "apps"))
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")
webclient/deploy/pinax.wcgi
import os
import sys
from os.path import abspath, dirname, join
from site import addsitedir
sys.path.insert(0, abspath(join(dirname(__file__), "../../")))
from django.conf import settings
os.environ["DJANGO_SETTINGS_MODULE"] = "webclient.settings"
#os.environ["SCRIPT_NAME"] = "/natrium"
sys.path.insert(0, join(settings.PROJECT_ROOT, "apps"))
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
Haben Sie Ihr Projekt mithilfe der
Ich habe seit etwa 1 Jahr, so erinnere ich mich nicht. Aber ich sehe keinen Grund, warum nicht durch Befehl. Oh. Es ist Pinax, durch die Art und Weise. So sollte es sein, durch Befehl.
django-admin.py startproject
- Befehl, oder manuell?Ich habe seit etwa 1 Jahr, so erinnere ich mich nicht. Aber ich sehe keinen Grund, warum nicht durch Befehl. Oh. Es ist Pinax, durch die Art und Weise. So sollte es sein, durch Befehl.
InformationsquelleAutor User007 | 2012-03-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie diese an die Spitze, es sieht aus wie der Pfad zum settings-Datei nicht in Ihrem system-Pfad:
In Ihrem main.py können Sie geben Sie die folgende Ausnahme und sehen, was die traceback zeigt? Ist die Umgebungsvariable gesetzt, richtig?
raise Exception("DJANGO_SETTINGS_MODULE = " + str(os.environ["DJANGO_SETTINGS_MODULE"]))
Wenn er sagt:DJANGO_SETTINGS_MODULE = None
die environment-variable nicht immer gesetzt, und wir haben zu überprüfen deros.environ["DJANGO_SETTINGS_MODULE"] = ...
ist an der richtigen Stelle. Wenn es sagt:DJANGO_SETTINGS_MODULE = u"mysite.settings"
dann haben wir weiter zu untersuchen, warum es denkt, dass die Umgebungsvariable nicht gesetzt ist.Ich danke Ihnen sehr. Es hat nicht erziehen unsere manuelle Ausnahme. Ich habe die setup-Skripts, hieß es
webclient.settings.
ich auch in die shell importierenwebclient.settings
und es ist da.Zu überprüfen: ändern
path = '/var/lib/graphyte-webclient/webclient/'
zupath = '/var/lib/graphyte-webclient/webclient'
ohne abschließenden Schrägstrich. Stellen Sie sicher, dass es eine__init__.py
Datei in /var/lib/graphyte-webclient/webclient, und stellen Sie sicher, dass die settings.py die Datei ist da drin (Sie können auch löschen Sie die Einstellungen.pyc, wenn es vorhanden ist). Überprüfen Sie die Berechtigungen auf alle Dateien, die python-executor auf Sie zugreifen können. Für die raise Exception(...), das muss sein, nachdem es in der main.py, verschieben Sie es unterhalb deros.environ['DJANGO_SETTINGS_MODULE'] = "webclient.settings"
Linie.Danke. Ich habe überprüft, und es immer noch nicht heben die Ausnahme. Ich bearbeitet meine obigen code (main.py), und ein Bild hochgeladen. Ich gelöscht
settings.pyc
und__init__.pyc
und starten Sie den server neu, und es lädt wieder. Sopyc
ist die neueste. Es hat nicht funktioniert.InformationsquelleAutor Furbeenator
wenn Sie mit django 1.6 +
der code unten sollte es für Sie tun
InformationsquelleAutor Pawan Kumar