Este é o rastreio no meu sistema 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.
E o meu manage.py fica assim:
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)
Eu recebo esse erro quando estou tentando usar o aplicativo de registro no Django 1.7
django-django-4c85a0d
;4c85a0d
passa a ser um hash de commit do Django (não estável). Eu não acredito que você está realmente usando Django 1.7 (cf minha resposta)venv
. A recriação do diretório venv o corrigiu para mim. `` `` mv venv venv_old virtualenv venv source ./venv/bin/activate pip install -r requirements.txt ``docker-compose exec ...
. O problema era que eu não estava passando as variáveis de ambiente necessárias para o comando docker-compose exec .Respostas:
Isto é o que resolveu para nós e essas pessoas :
Nosso projeto começou com o Django 1.4, fomos para 1.5 e depois para 1.7. Nosso wsgi.py ficou assim:
Quando eu atualizei para o manipulador WSGI do estilo 1.7:
Tudo funciona agora.
fonte
wsgi.py
arquivo gerado automaticamente nunca possui umimport sys
. Nem no 1.4, nem no 1.5, nem no 1.7. Se você o tinha lá, foi adicionado manualmente por alguém - não foi adicionado pelo django-admin startproject.A execução desses comandos resolveu meu problema (crédito a esta resposta ):
No entanto, não sei por que preciso disso. Comentários seriam apreciados.
fonte
O problema está no seu aplicativo de registro. Parece que o django-registration chama
get_user_module()
nomodels.py
nível do módulo (quando os modelos ainda estão sendo carregados pelo processo de registro do aplicativo). Isso não funcionará mais:Eu mudaria esse arquivo de modelos para chamar apenas
get_user_model()
métodos internos (e não no nível do módulo) e nos FKs use algo como:BTW, a chamada para
django.setup()
não deve ser necessária em seumanage.py
arquivo, é chamada para vocêexecute_from_command_line
. ( fonte )fonte
if __name__ == '__main__':
funciona para mim, mas não sei se é uma boa solução.Acabei de encontrar o mesmo problema. O problema é
django-registration
incompatível com o modelo de usuário do django 1.7.Uma correção simples é alterar essas linhas de código, no seu
django-registration
módulo instalado :para::
O meu está em
.venv/local/lib/python2.7/site-packages/registration/models.py
(virtualenv)fonte
django-registration-redux
corrigiu o problema para mim (eu tinha exatamente a mesma pilha como o OP)Isso funciona para mim no Django 1.9. O script Python a ser executado estava na raiz do projeto Django.
Defina PROJECT_NAME e APP_NAME para o seu
fonte
Outra opção é que você tenha uma entrada duplicada em INSTALLED_APPS. Isso gerou esse erro para dois aplicativos diferentes que testei. Aparentemente, não é algo que o Django verifique, mas quem é bobo o suficiente para colocar o mesmo aplicativo na lista duas vezes. Eu sou quem.
fonte
Você tem um ambiente virtual Python em que precisa entrar antes de executar o manage.py?
Eu mesmo encontrei esse erro, e esse era o problema.
fonte
Corri para esse problema quando uso djangocms e adicionei um plug-in (no meu caso: djangocms-cascade). Claro que tive que adicionar o plugin ao INSTALLED_APPS. Mas a ordem aqui é importante.
Para colocar 'cmsplugin_cascade' antes de 'cms' resolver o problema.
fonte
cms, mptt, menus, sekizai, filer, easy_thumbnails
instale o django-registration-redux == 1.1 em vez do django-registration, se você estiver usando o django 1.7
fonte
./manage.py migrate
Isso resolveu meu problema
fonte
Você
manage.py
está "errado"; Eu não sei de onde você tirou, mas isso não é um 1.7manage.py
- você estava usando alguma versão funky de pré-lançamento ou algo assim?Redefina o seu
manage.py
para o convencional, como abaixo, e as coisas devem funcionar:fonte