Startest du evtl. die shell mit einem anderen User, als hinterher von Apache?Dauerbaustelle hat geschrieben:Wenn ich die Django-Shell nutze, funktioniert das Importieren auch.
WSGI/Django-settings-Modul: kein Import möglich
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Bei mir läuft Nginx mit mod_wsgi, aber ja, die WSGI-Prozesse laufen afaik unter dem nginx-User. Allerdings habe ich a) bei keinem anderen Django-Projekt diese Probleme und b) funktionieren die Imports in derShell mit jedem anderen Nutzer.jens hat geschrieben:Startest du evtl. die shell mit einem anderen User, als hinterher von Apache?
Vielleicht habe ich auch in meinen Settings Murks gemacht? Ihr könnt ja mal reinschauen.
In der settings vom Tutorial sind folgende Dinge anders:
``mysite`` ist in diesem Fall dein ``myproject``
Code: Alles auswählen
ROOT_URLCONF = 'mysite.urls'
Code: Alles auswählen
INSTALLED_APPS = (
...
'mysite.polls',
)
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Vielleicht hilft dir das weiter: http://code.djangoproject.com/ticket/11667 Ich weiß allerdings jetzt nicht, ob das importieren der settings mit abgedeckt ist...Dauerbaustelle hat geschrieben:Vielleicht habe ich auch in meinen Settings Murks gemacht? Ihr könnt ja mal reinschauen.
Auf jeden Fall ist es IMHO dumm, das django an einigen Stellen keinen Vollständigen traceback hinterläßt. Siehe auch: http://jensdiemer.de/de/Blog/23/django- ... me-foobar/
Dein from geheim import * würde ich ehr ganz unten in die settings.py schreiben, damit man alle vorgaben "überschreiben" kann. Außerdem wäre, statt einem schlichten print e, sowas hilfreicher:
Code: Alles auswählen
try:
from geheim import *
except ImportError, e:
import traceback
print traceback.format_exc()
Hier noch die Erklärung zu meiner Antwort oben:
Du kannst also entweder deine Settings korrigieren oder das WSGI.http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango hat geschrieben:If you have been using the Django development server and have made use of the fact that it is possible when doing explicit imports, or when referencing modules in 'urls.py', to leave out the name of the site and use a relative module path, you will also need to add to sys.path the path to the site package directory itself.
sys.path.append('/usr/local/django')
sys.path.append('/usr/local/django/mysite')
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Okay Jungs, ich werd das mal ausprobieren. Wenn der Körper den Geist wieder freigibt :-)
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Das ist ja seltsam. Sobald ich die Imports mit `myproject.myapp` und `myproject.urls` mache, und den Datenbankpfad absolut angebe, funktioniert alles. Komisch, dieses Verhalten habe ich noch nicht gekannt.
Werde mir den Thread aber auf jeden Fall mal merken, da steckt ne ganze Menge nützliches Bugfixing-Wissen drin :-)
Werde mir den Thread aber auf jeden Fall mal merken, da steckt ne ganze Menge nützliches Bugfixing-Wissen drin :-)