Mój kod jest tutaj. Próbowałem inne podejście od stackoverflow i non z nich pracował.
import os
import sys
from django.conf import settings
sys.path.append("/var/www/iaas/horizon")
sys.path.append("/var/www/iaas/horizon/openstack_dashboard")
os.environ["DJANGO_SETTINGS_MODULE"] = "openstack_dashboard.settings"
from bill.models import MonthlyBills
from django.contrib.auth import models
Jeśli uruchomię python daemonize.py, tutaj pojawia się komunikat o błędzie. Jestem zdezorientowany, ponieważ już umieściłem ścieżkę mojego projektu django w moim sys.path
raise ImportError("Could not import settings "%s" (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings "openstack_dashboard.settings" (Is it on sys.path?): cannot import name connection
Co staram się osiągnąć jest stworzenie demona python, muszę mieć dostęp w moich modelach django.
Mam nadzieję, że ktoś, kto mógłby wskazać mi, gdzie się tutaj mylę.
Odpowiedzi:
1 dla odpowiedzi № 1Musisz ustawić os.environ["DJANGO_SETTINGS_MODULE"]
przed importujesz settings
.
Proces importowania django.conf.settings
będzie sprawdzić, czy DJANGO_SETTINGS_MODULE
zmienna środowiskowa jest ustawiana przed określeniem białych ustawień do załadowania.
import os
import sys
sys.path.append("/var/www/iaas/horizon")
sys.path.append("/var/www/iaas/horizon/openstack_dashboard")
os.environ["DJANGO_SETTINGS_MODULE"] = "openstack_dashboard.settings"
from django.conf import settings