Quando atualizei para django 1.9 de 1.8, recebi este erro. Verifiquei as respostas para perguntas semelhantes, mas não acho que isso seja um problema com nenhum pacote ou aplicativo de terceiros.
Traceback (most recent call last):
File "manage.py", line 10, in <module> execute_from_command_line(sys.argv)
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
utility.execute()
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 342, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 176, in fetch_command
commands = get_commands()
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/utils/lru_cache.py", line 100, in wrapper
result = user_function(*args, **kwds)
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 71, in get_commands
for app_config in reversed(list(apps.get_app_configs())):
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/apps/registry.py", line 137, in get_app_configs
self.check_apps_ready()
File "/home/kishore/.virtualenvs/andone/local/lib/python2.7/site-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
Eu modifiquei os aplicativos instalados para 'django.contrib.auth'.
Respostas:
Tente adicionar estas linhas ao topo do seu arquivo de configurações:
import django django.setup()
E se isso não ajudar, tente remover aplicativos de terceiros de sua lista de aplicativos instalados, um por um.
fonte
django.setup()
é para uso em scripts independentes. Você não deve colocá-lo em configuraçõesEu teria uma função personalizada escrita em um dos meus
__init__.py
arquivos de modelos . Isso estava causando o erro. Quando movi esta função__init__.py
funcionou.fonte
Meu problema é que tentei importar um modelo Django antes de chamar
django.setup()
Isso funcionou para mim:
import django django.setup() from myapp.models import MyModel
O script acima está na pasta raiz do projeto.
fonte
No meu caso, o erro ocorreu quando cometi
python manage.py makemigrations
emDjango 2.0.6
.A solução era executar
python manage.py runserver
e ver o erro real (que era apenas uma variável de ambiente ausente).fonte
Este erro pode ocorrer quando você está adicionando um aplicativo em
INSTALLED_APPS
nosettings.py
arquivo, mas você não tem esse aplicativo instalado em seu computador. Você tem duas soluções:Install
aquele aplicativo usando gerenciadores de pacotes comopip
no Ubuntusettings.py
arquivoEste erro também pode ocorrer se você não estiver na pasta
virtual environment
que pode ter criado para o seu projeto.fonte
Tente remover todo o
settings.LOGGING
dictConfig e reinicie o servidor. Se funcionar, reescreva a configuração de acordo com a documentação v1.9.https://docs.djangoproject.com/en/1.9/topics/logging/#examples
fonte
/var/log
existe o caminho do arquivo de log que deu esse erroPara mim, o problema vinha do fato de eu estar importando um aplicativo no
INSTALLED_APPS
qual ele próprio importava um modelo em seu__init__.py
arquivoEu tinha :
settings.py
INSTALLED_APPS = [ ... 'myapp', ... ]
myapp.__init__.py
from django.contrib.sites.models import Site
comentar
import models
emmyapp.__init__.py
fez funcionar:# from django.contrib.sites.models import Site
fonte
django.setup () no topo não funcionará enquanto você estiver executando um script explicitamente. Meu problema foi resolvido quando adicionei isso na parte inferior do arquivo de configurações
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) import sys if BASE_DIR not in sys.path: sys.path.append(BASE_DIR) os.environ['DJANGO_SETTINGS_MODULE'] = "igp_lrpe.settings" os.environ.setdefault("DJANGO_SETTINGS_MODULE", "igp_lrpe.settings") import django django.setup()
fonte
import django
edjango.setup()
. O problema foi resolvido.Para mim comentando
'grappelli.dashboard', 'grappelli',
em INSTALLED_APPS funcionou
fonte
'one_third_pary_app,'
vez de'one_third_pary_app',
(observe a posição do,
)Recebo esse erro quando tento executar
test.py
(scripts não completos, não quero usarpython manage.py test
)e o método a seguir está funcionando para mim.
import os import django if 'env setting': os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'YourRoot.settings') django.setup() from django.test import TestCase ... class SomeTest(TestCase): def test_one(self): # <-- Now, I can run this function by PyCharm ... def test_two(self): ...
fonte
DJANGO_SETTINGS_MODULE
esteja definido, há 2 linhas importantes de código nesta resposta;import django
edjango.setup()
. Se alguém está usando objetos de um projeto django em um script python único dentro do projeto, o escopo desse script provavelmente não tem acesso ao projeto django. Ao chamar as linhas acima mencionadas, você essencialmente informa ao script sobre o conteúdo do seu projeto django. Quando preciso chamá-los, simplesmente os adiciono ao início do script antes de qualquer outra importação.Meu problema era: django-reversion> = 1.8.7, <1.9
para django 1.9.7 você deve usar: django-reversion == 1.10.0
Fui atualizado django-cms 3.2 para 3.3 e descobri-o comentando aplicativos e, em seguida, removendo o comentário de volta.
Resposta correta aqui: https://stackoverflow.com/a/34040556/2837890
fonte
Esse problema também é observado para configurações inconsistentes.py para escrever incorretamente INSTALLED_APPS, verifique se você incluiu aplicativos corretamente e separados por ",".
fonte
Quando mudo minha versão do django para 1.9, não surge o erro.
pip uninstall django pip install django==1.9
fonte
Eu coloquei a
User
importação nosettings
arquivo para gerenciar o token de chamada restante como este# settings.py from django.contrib.auth.models import User def jwt_get_username_from_payload_handler(payload): .... JWT_AUTH = { 'JWT_PAYLOAD_GET_USERNAME_HANDLER': jwt_get_username_from_payload_handler, 'JWT_PUBLIC_KEY': PUBLIC_KEY, 'JWT_ALGORITHM': 'RS256', 'JWT_AUDIENCE': API_IDENTIFIER, 'JWT_ISSUER': JWT_ISSUER, 'JWT_AUTH_HEADER_PREFIX': 'Bearer', } REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ), 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentication.JSONWebTokenAuthentication', ), }
Porque naquele momento, as bibliotecas do Django ainda não estão prontas. Portanto, coloquei o
import
dentro da função e começou a funcionar. A função precisa ser chamada após o servidor ser iniciadofonte
No meu caso, uma das minhas configurações, 'CORS_ORIGIN_WHITELIST', foi definida no arquivo settings.py, mas não estava disponível no meu arquivo .env. Portanto, sugiro que você verifique suas configurações, especialmente aquelas vinculadas a .env
fonte
Como outros já disseram, isso pode ser causado quando você não instalou um aplicativo listado em
INSTALLED_APPS
.No meu caso,
manage.py
estava tentando registrar a exceção, o que levou a uma tentativa de renderizá-la, que falhou devido ao aplicativo ainda não ter sido inicializado. Ao comentar aexcept
cláusula namanage.py
exceção foi exibida sem renderização especial, evitando o erro confuso.# Temporarily commenting out the log statement. #try: execute_from_command_line(sys.argv) #except Exception as e: # log.error('Admin Command Error: %s', ' '.join(sys.argv), exc_info=sys.exc_info()) # raise e
fonte
Eu tentei várias coisas, mas apenas o downgrade do Django para 1.8.18 resolveu este problema para mim:
pip install django==1.8.18
É um dos aplicativos instalados que está falhando, mas não consegui encontrar qual deles.
fonte
Eu recebo esse erro quando tento executar:
Eu tentei tantas coisas e percebi que adicionei algumas referências a "settings.py" - "INSTALLED_APPS"
Apenas certifique-se de que o que você escreve está correto. Meu erro foi ".modelo". em vez de ".app."
Corrigido esse erro e está funcionando agora.
fonte
Primeiro importe e execute django.setup () antes de importar qualquer modelo
Todas as respostas acima são boas, mas há um erro simples que uma pessoa pode cometer (na verdade, no meu caso era).
Importei o modelo Django do meu aplicativo antes de ligar
django.setup()
. a maneira correta é fazer ...import os os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'first_project.settings') import django django.setup()
então qualquer outra importação como
from faker import Faker import random # import models only after calling django.setup() from first_app.models import Webpage, Topic, AccessRecord
fonte
Atrasado para a festa, mas grappelli foi o motivo do meu erro também. Eu procurei a versão compatível no pypi e isso consertou para mim.
fonte
Tente ativar o ambiente virtual. No meu caso, usando a ferramenta de linha de comando git:
Resolve meu problema.
fonte
Recebi este erro ao tentar acessar objetos de modelo em
apps.py
:class QuizConfig(AppConfig): name = 'quiz' def ready(self): print('===============> Django just started....') questions_by_category = Question.objects.filter(category=2) # <=== Guilty line of code.
Tentar acessar
Question
antes de o aplicativo carregar a classe de modelo causou o erro para mim.fonte
Question
definido no models.py deste AppConfig?Se o preenchimento de seus arquivos setting.py estiver correto, você pode tentar chegar aos arquivos manage.py, proceder com a chamada danjgo.setup () no método principal. Em seguida, execute manage.py e, finalmente, execute novamente o projeto, o problema pode desaparecer.
fonte
No módulo "admin" do pacote do seu aplicativo, registre todos os bancos de dados criados no módulo "modelos" do pacote.
Suponha que você tenha uma classe de banco de dados definida no módulo "modelos" como:
class myDb1(models.Model): someField= models.Charfiled(max_length=100)
então você deve registrar isso no módulo de administração como:
from .models import myDb1 admin.site.register(myDb1)
Espero que isso resolva o erro.
fonte