Mam projekt Django z jedną aplikacją o nazwie subscribe
. W root urls.py
używam include z subscribe
's urls.py
.Błąd importu Django uwsgi
kładę do INSTALLED_APPS
subscribe
aw subscribe
„s urls.py
używam subscribe.views.<name>
dla nazwać moje poglądy. Kiedy serwer działa jako python manage.py runserver
lokalnie wszystko działa poprawnie. Ale gdy prowadzony na serwer nginx + uwsgi z virtualenv, mam ImportError: No module named subscribe
. Po zmianie subscribe
na project.subscribe
w INSTALLED_APPS
i urls.py
zmiana na project.subscribe.views.<name>
wszystko działa dobrze.
uwsgi config:
[uwsgi]
socket = 127.0.0.1:9003
workers = 2
master = true
virtualenv = /home/user/python
chdir = /home/user
env = DJANGO_SETTINGS_MODULE=project.settings
module = django.core.handlers.wsgi:WSGIHandler()
daemonize = /home/user/uwsgi.log
Dlaczego powinienem użyć ścieżki bezwzględnej import i jak mogę ją zmienić względną tyłu na nginx + uwsgi z virtualenv?
dodać 'project' do ścieżki Pythona albo za pośrednictwem skryptu startowego virtualenv lub inaczej –
mój skrypt startowy już m.in. it: sys.path.insert (0, '/ home/user/project') – ZedXter
Foldery zagrożeń Django z __init__.py jako pakiety i yo u skonfigurować '/ home/user/project' jako głównego katalogu na swoim' skryptu wsgi', więc powinien działać tak samo jak 'python manage.py runserver' działa. –