To jest śledzenie w moim systemie Windows.
Traceback (most recent call last):
File "D:\AMD\workspace\steelrumors\manage.py", line 9, in <module>
django.setup()
File "D:\AMD\Django\django-django-4c85a0d\django\__init__.py", line 21, in setup
apps.populate(settings.INSTALLED_APPS)
File "D:\AMD\Django\django-django-4c85a0d\django\apps\registry.py", line 108, in populate
app_config.import_models(all_models)
File "D:\AMD\Django\django-django-4c85a0d\django\apps\config.py", line 197, in import_models
self.models_module = import_module(models_module_name)
File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
__import__(name)
File "C:\Python27\lib\site-packages\registration\models.py", line 15, in <module>
User = get_user_model()
File "D:\AMD\Django\django-django-4c85a0d\django\contrib\auth\__init__.py", line 135, in get_user_model
return django_apps.get_model(settings.AUTH_USER_MODEL)
File "D:\AMD\Django\django-django-4c85a0d\django\apps\registry.py", line 199, in get_model
self.check_models_ready()
File "D:\AMD\Django\django-django-4c85a0d\django\apps\registry.py", line 131, in check_models_ready
raise AppRegistryNotReady("Models aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
A mój manage.py wygląda tak:
import os
import sys
import django
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "steelrumors.settings")
django.setup()
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
Otrzymuję ten błąd, gdy próbuję użyć aplikacji rejestracyjnej w Django 1.7
django-django-4c85a0d
;4c85a0d
tak się składa, że jest (niestabilnym) hashem zatwierdzenia Django. Nie wierzę, że faktycznie używasz Django 1.7 (patrz moja odpowiedź)venv
. Odtworzenie katalogu venv naprawiło to za mnie. `` `` mv venv venv_old virtualenv venv source ./venv/bin/activate pip install -r Requirements.txt ''docker-compose exec ...
. Problem polegał na tym, że nie przekazywałem wymaganych zmiennych środowiskowych do polecenia docker-compose exec .Odpowiedzi:
Oto, co rozwiązało problem dla nas i dla tych ludzi :
Nasz projekt rozpoczął się od Django 1.4, przeszliśmy do wersji 1.5, a następnie 1.7. Nasz wsgi.py wyglądał tak:
Kiedy zaktualizowałem do obsługi WSGI w stylu 1.7:
Teraz wszystko działa.
źródło
wsgi.py
nigdy nie zawiera plikuimport sys
. Nie w 1.4, nie w 1.5 i nie w 1.7. Jeśli miałeś to tam, to zostało dodane ręcznie przez kogoś - nie jest dodawane przez django-admin startproject.Uruchomienie tych poleceń rozwiązało mój problem (dzięki tej odpowiedzi ):
Jednak nie jestem pewien, dlaczego tego potrzebuję. Będziemy wdzięczni za komentarze.
źródło
Problem dotyczy Twojej aplikacji rejestracyjnej. Wydaje wywołań django rejestracji
get_user_module()
wmodels.py
na poziomie modułu (gdy modele wciąż są ładowane przez proces rejestracji wniosku). To już nie będzie działać:get_user_model()
Zmieniłbym ten plik modeli, aby wywoływał tylko metody wewnętrzne (a nie na poziomie modułu), aw SK używam czegoś takiego:Przy okazji, wywołanie do
django.setup()
nie powinno być wymagane wmanage.py
pliku, jest wzywane do Ciebieexecute_from_command_line
. ( źródło )źródło
if __name__ == '__main__':
działa dla mnie, ale nie wiem, czy to dobre rozwiązanie.Właśnie napotkałem ten sam problem. Problem wynika z
django-registration
niezgodności z modelem użytkownika django 1.7.Prostą poprawką jest zmiana tych wierszy kodu w zainstalowanym
django-registration
module:do::
Mój jest w
.venv/local/lib/python2.7/site-packages/registration/models.py
(virtualenv)źródło
django-registration-redux
naprawiono problem dla mnie (miałem dokładnie taki sam stack jak OP)To działa dla mnie dla Django 1.9. Skrypt Pythona do wykonania znajdował się w katalogu głównym projektu Django.
Ustaw PROJECT_NAME i APP_NAME jako swoje
źródło
Inną opcją jest to, że masz zduplikowany wpis w INSTALLED_APPS. To spowodowało ten błąd dla dwóch różnych aplikacji, które testowałem. Najwyraźniej nie jest to coś, czego Django szuka, ale kto jest na tyle głupi, aby dwukrotnie umieścić tę samą aplikację na liście. Ja, to kto.
źródło
Czy masz środowisko wirtualne Python, do którego musisz wejść przed uruchomieniem manage.py?
Sam napotkałem ten błąd i to był problem.
źródło
Napotkałem ten problem, gdy używam djangocms i dodałem wtyczkę (w moim przypadku: djangocms-cascade). Oczywiście musiałem dodać wtyczkę do INSTALLED_APPS. Ale kolejność jest tutaj ważna.
Umieszczenie „cmsplugin_cascade” przed „cms” rozwiązało problem.
źródło
cms, mptt, menus, sekizai, filer, easy_thumbnails
zainstaluj django-registration-redux == 1.1 zamiast django-registration, jeśli używasz django 1.7
źródło
./manage.py migrate
To rozwiązało mój problem
źródło
Twój
manage.py
jest „zły”; Nie wiem, skąd go masz, ale to nie jest 1.7manage.py
- czy używałeś jakiejś funky przedpremierowej kompilacji czy coś?Zresetuj
manage.py
do konwencjonalnych, jak poniżej, i rzeczy powinny po prostu działać:źródło