سؤال

أنا أستخدم [تسجيل جانغو] (https://bitbucket.org/ubernostrum/django-registration) والآن بدأت في استخدام Django 1.7b1 وهنا الخطأ الذي أتلقى الخطأ المنسوخ أدناه.يتم رفعه من تسجيل جانغو في models.py:

try:
    from django.contrib.auth import get_user_model
    User = get_user_model()
except ImportError:
    from django.contrib.auth.models import User

والظاهر أنه مرفوع لأنه get_user_model() يتم استدعاؤه قبل أن يصبح سجل التطبيق جاهزًا.لست متأكدًا مما إذا كانت هذه مشكلة توافق أم لا، إذا كانت الإجابة بنعم، فهل هناك حل بديل بسيط لذلك؟وإذا لم يكن الأمر كذلك، هل يمكنك مساعدتي في تحديد الخطأ الذي أفعله؟

RuntimeError: App registry isn't ready yet.
File "/Users/nima/pe-dev/manage.py", line 9, in <module>
  execute_from_command_line(sys.argv)
File "/Library/Python/2.7/site-packages/Django-1.7b1-py2.7.egg/django/core/management/__init__.py", line 427, in execute_from_command_line
  utility.execute()
File "/Library/Python/2.7/site-packages/Django-1.7b1-py2.7.egg/django/core/management/__init__.py", line 391, in execute
  django.setup()
File "/Library/Python/2.7/site-packages/Django-1.7b1-py2.7.egg/django/__init__.py", line 21, in setup
  apps.populate(settings.INSTALLED_APPS)
File "/Library/Python/2.7/site-packages/Django-1.7b1-py2.7.egg/django/apps/registry.py", line 106, in populate
  app_config.import_models(all_models)
File "/Library/Python/2.7/site-packages/Django-1.7b1-py2.7.egg/django/apps/config.py", line 190, in import_models
  self.models_module = import_module(models_module_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
  __import__(name)
File "/Library/Python/2.7/site-packages/registration/models.py", line 15, in <module>
  User = get_user_model()
File "/Library/Python/2.7/site-packages/Django-1.7b1-py2.7.egg/django/contrib/auth/__init__.py", line 136, in get_user_model
  return django_apps.get_model(settings.AUTH_USER_MODEL)
File "/Library/Python/2.7/site-packages/Django-1.7b1-py2.7.egg/django/apps/registry.py", line 187, in get_model
  self.check_ready()
File "/Library/Python/2.7/site-packages/Django-1.7b1-py2.7.egg/django/apps/registry.py", line 119, in check_ready
  raise RuntimeError("App registry isn't ready yet.")
هل كانت مفيدة؟

المحلول

لا تستخدم تسجيل Django المتوفر من PyPI.إنه لا يدعم Django 1.7 ويبدو أنه لن يدعمه أبدًا.لقد تنازل مشرف الريبو عن منصبه ويبدو أن المشروع لم تتم صيانته.

هناك شوكة صيانة متاحة على Github والتي عملت بشكل جيد بالنسبة لي مع Django 1.7:

https://github.com/macropin/Django-registration

إنه متاح من PyPI كـ django-registration-redux.

https://pypi.python.org/pypi/Django-registration-redux/

يمكنك التثبيت باستخدام النقطة:

pip install django-registration-redux

نصائح أخرى

هذه المذكرة يعالج مشكلتك.

أعتقد أن الطريقة المفضلة لاستيراد المستخدم هي:

from django.conf import settings
User = settings.AUTH_USER_MODEL

يحرر:

يبدو أن هذه المشكلة قد تمت ملاحظتها ولكن مسؤول المشروع يواجه صعوبة في إجراء التغيير. وصلة.هذه مشكلة أكبر مع التحديثات في Django 1.7.

أود أن أقول أنه يمكنك إما:(1) افصل الريبو وقم بإجراء التغيير بنفسك، أو (2) قم بإجراء التغييرات في مجلد حزم موقعك بعد تثبيت النقطة.لن يعمل الإصدار الأخير جيدًا إذا قمت بعد ذلك بدفعه إلى خادم آخر وتثبيته باستخدام ملف require.txt.لاحظ أنه إذا قمت بتنفيذ الخيار 1 باستخدام ملف require.txt، فستحتاج إلى توجيهه إلى الريبو الخاص بك بدلاً من تسجيل جانغو.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top