Django 1.9 त्रुटि के लिए उन्नयन "AppRegistryNotReady: ऐप्स अभी तक लोड नहीं किए गए हैं।"


97

जब django 1.9 को 1.8 से अपग्रेड किया गया तो मुझे यह त्रुटि मिली। मैंने इसी तरह के सवालों के जवाब की जाँच की, लेकिन मुझे नहीं लगा कि यह किसी भी 3 पार्टी पैकेज या ऐप के साथ एक समस्या है।

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.

मैंने 'django.contrib.auth' के लिए इंस्टॉल किए गए ऐप्स को संशोधित किया है।


1
क्या आप किसी तीसरे पक्ष के ऐप का उपयोग कर रहे हैं? कृपया अपनी सेटिंग्स को साझा करें
utkbansal

मैं कई 3rd पार्टी ऐप्स का उपयोग कर रहा हूं, लेकिन मेरा मानना ​​है कि यह त्रुटि "django / apps / रजिस्ट्री.py" से ली गई है, न कि साइट पैकेज के किसी अन्य ऐप से।
किशोर

1
मुझे django-crispy-form के साथ एक समान समस्या का सामना करना पड़ा है क्योंकि ूप अभी तक 1.9 समर्थन नहीं करता है। तो यह एक असमर्थित ऐप हो सकता है।
utkbansal

1
मैं उस पैकेज का उपयोग नहीं कर रहा हूं। क्षमा करें यदि मैं गलत हूं, यदि यह किसी भी पैकेज से संबंधित है, तो ट्रेस साइट पैकेज में उस ऐप की ओर इशारा करेगा, है ना?
किशोर के

समान पेयू 1.9 का समर्थन नहीं करता है
ग्रिवटी

जवाबों:


127

इस पंक्तियों को अपनी सेटिंग फ़ाइल के शीर्ष पर जोड़ने का प्रयास करें:

import django
django.setup()

और अगर यह आपके इंस्टॉल किए गए ऐप्स की सूची से तीसरे पक्ष के एप्लिकेशन को एक-एक करके निकालने में मदद नहीं करेगा।


8
मैंने यह कोशिश की, लेकिन मुझे यह त्रुटि मिली "django.core.exception.ImproperlyConfigured: SECRET_KEY सेटिंग खाली नहीं होनी चाहिए।" भले ही मैं सेटिंग फ़ाइल में SECRET_KEY रहा हूँ।
किशोर का

11
SECRET_KEY घोषित करने का प्रयास करने से पहले उल्लेख किया लाइनों, की तरह कुछ: SECRET_KEY = 'मेरा गुप्त कुंजी' आयात Django django.setup () यह मेरे लिए काम किया .... अब एक और त्रुटि के साथ :)
डुडा नोग्वीरा

1
यह सवाल का एक शानदार उत्तर है: "मैं स्टैंडो स्क्रिप्ट से Django मॉडल ऑब्जेक्ट्स का उपयोग कैसे करूं?" :-) ऊपर दिए गए कोड को चलाने से पहले, आपको करना होगा: os.environ.setdefault ("DJANGO_SETTINGS_MODULE", "your.settings")।
एडविलयूज़र

1
सेटिंग्स पर काम नहीं किया, लेकिन मेरी स्टैंडअलोन स्क्रिप्ट पर काम करता है। यह अपवाद तब भी होता है जब आप स्टैंडअलोन पायथन स्क्रिप्ट में django.setup () को कॉल करना भूल जाते हैं। docs.djangoproject.com/en/1.10/ref/applications/…
आंद्रे

30
django.setup()स्टैंड इन स्क्रिप्ट्स में उपयोग के लिए है। आपको इसे सेटिंग में नहीं रखना चाहिए
अलास्देयर

38

मैं अपने किसी एक मॉडल __init__.pyफ़ाइल पर लिखा एक कस्टम फ़ंक्शन चाहता हूँ । यह त्रुटि पैदा कर रहा था। जब मैंने इस फंक्शन को आगे बढ़ाया तो __init__.pyइसमें काम किया।


3
यहाँ भी, यह तय भी चल रहा है।
ब्रचमूल

इस फ़ाइल में टिप्पणी करने वाले कार्यों के लिए वर्थ नोटिंग भी इस त्रुटि का कारण हो सकता है।
ऑटोबोट्स का बी-ट्रॉन

25

मेरी समस्या यह थी कि मैंने कॉल करने से पहले एक Django मॉडल को आयात करने की कोशिश की django.setup()

यह मेरे लिए काम किया:

import django
django.setup()

from myapp.models import MyModel

उपरोक्त स्क्रिप्ट प्रोजेक्ट रूट फ़ोल्डर में है।


मैं इस मुद्दे का सामना कर रहा था जब एक स्क्रिप्ट चल रही थी, इसने इसे हल किया।
लगभग एक शुरुआत

14

मेरे मामले में, त्रुटि तब हुई जब मैंने इसे बनाया python manage.py makemigrationsथा Django 2.0.6

इसका समाधान python manage.py runserverवास्तविक त्रुटि को चलाने और देखने के लिए था (जो कि एक लापता पर्यावरण चर था)।


13

यह त्रुटि तब हो सकती है जब आप फ़ाइल INSTALLED_APPS में कोई ऐप जोड़ रहे हैं settings.pyलेकिन आपके कंप्यूटर में वह ऐप इंस्टॉल नहीं है। आपके पास दो समाधान हैं:

  1. Installउस एप्लिकेशन pipको ubuntu जैसे पैकेज प्रबंधकों का उपयोग करके
  2. या settings.pyफ़ाइल में उस इंस्टॉल किए गए ऐप को कमेंट करें

यह त्रुटि तब भी उत्पन्न हो सकती है यदि आप virtual environmentअपने प्रोजेक्ट के लिए आपके द्वारा बनाए गए में नहीं हैं ।


5

संपूर्ण settings.LOGGINGतानाशाही को हटाने की कोशिश करें और सर्वर को पुनरारंभ करें। यदि वह काम करता है, तो v1.9 प्रलेखन के अनुसार सेटिंग को फिर से लिखें।

https://docs.djangoproject.com/en/1.9/topics/logging/#examples


धन्यवाद यह काम किया। मेरे लिए मैं विंडोज़ पर लिनक्स की फाइल सेट करने का उपयोग कर रहा था। इसलिए /var/logलॉगफाइल पाथ डिन्ट मौजूद है, जिसने यह त्रुटि दी
pratibha

5

मेरे लिए, समस्या इस तथ्य से आई है कि मैं एक ऐप आयात कर रहा था INSTALLED_APPSजिसमें स्वयं इसकी __init__.pyफ़ाइल में एक मॉडल आयात कर रहा था

मैं था :

settings.py

INSTALLED_APPS = [
    ...
    'myapp',
    ...
]

myapp.__init__.py

from django.contrib.sites.models import Site

यह काम किया import modelsमें बाहर टिप्पणी myapp.__init__.py:

# from django.contrib.sites.models import Site

मुझे भी ऐसी ही समस्या है। लेकिन मुझे अपने मामले में आयात की आवश्यकता है। आप वह कैसे करेंगें?
जॉनीक्यू

आप init से मॉडल आयात करने से बचने के लिए हमेशा रिफ्लेक्टर कर सकते हैं । एक विकल्प जो निश्चित रूप से काम करेगा वह आपके ऐप को आयात करने वाली फ़ाइलों को फिर से तैयार करना होगा लेकिन यह काफी भारी बदलाव हो सकता है। अंत में, यह वही है जो मुझे करना था!
अलबोरिक्स

@ जॉनी क्यू के रूप में एक ही मुद्दा। 1.8 में ठीक काम करता है, लेकिन 1.9 में टूट जाता है। क्या कोई प्रासंगिक दस्तावेज कहीं आसपास है? अपवाद django.contrib.auth.models से उपयोगकर्ता के आयात के कारण उत्पन्न होता है
विनोद

इस बारे में एक अलग सवाल पूछा था यहां stackoverflow.com/questions/59927122/… और जवाब मिला। जिस्ट, कोई दूसरा तरीका नहीं बल्कि रिफ्लेक्टर
विनोद

4

जब आप किसी स्क्रिप्ट को स्पष्ट रूप से चला रहे हों तो शीर्ष में django.setup () काम नहीं करेगा। जब मैंने इसे सेटिंग फ़ाइल के निचले भाग में जोड़ा तो मेरी समस्या हल हो गई

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()

मैं Pycharm खोल और प्रकार का उपयोग करें import djangoऔर django.setup()। समस्या सुलझा ली गई है।
सैयद हसन मौसवी

3

मेरे लिए टिप्पणी करना

'grappelli.dashboard',
'grappelli',

INSTALLED_APPS में काम किया


मेरे लिए यह सिर्फ इतना था कि मैं गलती 'one_third_pary_app,'से 'one_third_pary_app',(की स्थिति को नोट करने के बजाय ,) था
J0ANMM

2

मुझे वह त्रुटि मिलती है जब मैं चलाने की कोशिश करता हूं test.py(पूर्ण स्क्रिप्ट नहीं, मैं उपयोग नहीं करना चाहता python manage.py test)

और निम्नलिखित विधि मेरे लिए काम कर रही है।

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):
        ...

मान लिया गया DJANGO_SETTINGS_MODULEहै, इस उत्तर में कोड की 2 महत्वपूर्ण लाइनें हैं; import djangoऔर django.setup()। एक एक स्क्रिप्ट एक बंद अजगर में एक Django परियोजना से वस्तुओं का उपयोग कर रहा है, तो भीतर परियोजना, कि स्क्रिप्ट के दायरे सबसे अधिक संभावना Django परियोजना के लिए उपयोग नहीं है। उपर्युक्त पंक्तियों को कॉल करके, आप अनिवार्य रूप से उस स्क्रिप्ट को अपने django प्रोजेक्ट की सामग्री के बारे में जानते हैं। जब मुझे इन्हें कॉल करने की आवश्यकता होती है, तो मैं किसी भी अन्य आयात से पहले स्क्रिप्ट के शीर्ष पर उन्हें जोड़ता हूं।
एडम

1

मेरी समस्या थी: django-reversion> = 1.8.7, <1.9

django 1.9.7 के लिए आपको उपयोग करना चाहिए: django-reversion == 1.10.0

मुझे django-cms 3.2 से 3.3 में अपग्रेड किया गया था, और इसे ऐप्स द्वारा टिप्पणी करके पाया गया, फिर वापस असहज किया गया।

यहाँ सही उत्तर: https://stackoverflow.com/a/34040556/2837890


1

यह समस्या गलत तरीके से INSTALLED_APPS लिखने के लिए असंगत सेटिंग्स के लिए भी देखी जाती है, सत्यापित करें कि क्या आपने ऐप्स को सही तरीके से शामिल किया है और "," के साथ अलग किया है।


1

जब मैं अपने django संस्करण को 1.9 में बदलता हूं, तो यह त्रुटि उत्पन्न नहीं करता है। pip uninstall django pip install django==1.9


1

मैंने इस तरह से बाकी कॉल टोकन के प्रबंधन के लिए फ़ाइल Userमें आयात कियाsettings

# 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',
    ),
}

क्योंकि उस समय, Django के काम अभी तक तैयार नहीं हैं। इसलिए, मैंने importफ़ंक्शन को अंदर रखा और यह काम करना शुरू कर दिया। सर्वर शुरू होने के बाद फ़ंक्शन को कॉल करने की आवश्यकता होती है


0

मेरे मामले में, मेरी सेटिंग्स में से एक, 'CORS_ORIGIN_WHITELIST' को सेटिंग थ्रू फ़ाइल में सेट किया गया था लेकिन मेरी .env फ़ाइल में उपलब्ध नहीं था। इसलिए मैं सुझाव दूंगा कि आप अपनी सेटिंग्स की जाँच करें, विशेष रूप से .env से जुड़े


0

जैसा कि दूसरों ने कहा है कि ऐसा तब हो सकता है जब आपने कोई ऐसा ऐप इंस्टॉल नहीं किया है जो सूचीबद्ध है INSTALLED_APPS

मेरे मामले में, manage.pyअपवाद को लॉग इन करने का प्रयास कर रहा था, जिसके कारण इसे रेंडर करने का प्रयास किया गया था जो कि ऐप के कारण अभी तक आरंभ नहीं किया जा सका था। बाहर टिप्पणी करके exceptमें खंड manage.pyअपवाद विशेष प्रतिपादन के बिना प्रदर्शित किया गया था, भ्रामक त्रुटि से बचने।

# 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

0

मैंने कई चीजों की कोशिश की, लेकिन केवल Django को 1.8.18 पर अपग्रेड करना मेरे लिए इस मुद्दे को तय कर दिया:

pip install django==1.8.18

यह इंस्टॉल किए गए ऐप्स में से एक है जो विफल हो रहा है, लेकिन मुझे यह नहीं मिला कि कौन सा है।


0

मुझे वह त्रुटि मिलती है जब मैं चलाने की कोशिश करता हूं:

python manage.py makemigrations

मैंने बहुत सी चीजों की कोशिश की और महसूस किया कि मैंने "settings.py" - "INSTALLED_APPS" में कुछ संदर्भ जोड़े हैं

बस सुनिश्चित करें कि आप जो लिखते हैं वह सही है। मेरी गलती थी ".मॉडल।" इसके बजाय ".app।"

उस गलती को सुधार लिया और अब यह काम कर रहा है।


0

किसी भी मॉडल को आयात करने से पहले पहले django.setup () आयात और चलाएं


उपरोक्त सभी उत्तर अच्छे हैं लेकिन एक साधारण गलती है जो एक व्यक्ति कर सकता है वह है (वास्तव में मेरे मामले में यह था)।

मैंने कॉल करने से पहले अपने ऐप से Django मॉडल आयात किया django.setup()। इतना उचित तरीका है ...

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'first_project.settings')

import django
django.setup()

फिर किसी अन्य आयात की तरह

from faker import Faker
import random
# import models only after calling django.setup()
from first_app.models import Webpage, Topic, AccessRecord

-1

पार्टी के लिए देर हो गई, लेकिन मेरी गलती का कारण ग्रेपेली था। मैंने पिपी पर संगत संस्करण को देखा और यह मेरे लिए तय किया।


-1

वर्चुअल env को सक्रिय करने का प्रयास करें। मेरे मामले में, git कमांड लाइन टूल का उपयोग कर:

source scripts/activate

मेरी समस्या का समाधान करता है।


-1

मॉडल ऑब्जेक्ट को एक्सेस करने का प्रयास करते समय यह त्रुटि मिली 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.

Questionएप्लिकेशन को लोड करने से पहले एक्सेस करने की कोशिश करने से मेरे लिए त्रुटि हुई।


क्या मॉडल Questionइस AppConfig के मॉडल में परिभाषित किया गया है?
Gustavo_fringe

हाँ, यह वहाँ परिभाषित किया गया है
ओजोनुगा जुड ओचलिफु

-2

अगर आपकी सेटिंग थिंकपैड फ़ाइलें सही हैं, तो आप मुख्य विधि में djgo.setup () कॉल को प्रबंधित करने की कोशिश कर सकते हैं। इसके बाद मैनेज एरोम्ड चलाएं, आखिरकार फिर से प्रोजेक्ट चलाएं, मुद्दा गायब हो सकता है।


-2

अपने ऐप पैकेज के "एडमिन" मॉड्यूल में, पैकेज के "मॉडल" मॉड्यूल में बनाए गए सभी डेटाबेस रजिस्टर करें।

मान लीजिए कि आपके पास "मॉडल" मॉड्यूल में परिभाषित एक डेटाबेस वर्ग है:

class myDb1(models.Model):
    someField= models.Charfiled(max_length=100)

इसलिए आपको इसे व्यवस्थापक मॉड्यूल में पंजीकृत करना चाहिए:

from .models import myDb1
admin.site.register(myDb1)

मुझे उम्मीद है कि यह त्रुटि को हल करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.