Проблема совместимости совместимости Django-регистрации с Django 1.7
-
21-12-2019 - |
Вопрос
Я использую [Django-registrainting] ( https://bitbucket.org/ubernostrum/djang-registration.>) И теперь я начал использовать Django 1.7B1, и вот ошибка, которую я получаю ошибку, скопированную ниже.Он поднимается из Django-регистрации в models.py
:
try:
from django.contrib.auth import get_user_model
User = get_user_model()
except ImportError:
from django.contrib.auth.models import User
.
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, и оно, кажется, это никогда не будет.Сопровождающий REPO отксадился, и проект кажется ненаправленным.
Есть вещественная вилка, доступная на github, который хорошо работал для меня с django 1.7:
https://github.com/maCropin/djangogregistration
Это доступно от pypi как django-регистрация-redux.
https://pypi.python.org/pypi/djangogistration-redux/
Вы можете установить, используя PIP:
pip install django-registration-redux
Другие советы
Эта записка обращается к вашей проблеме.
Я думаю, что предпочтительный способ импорта пользователя:
from django.conf import settings
User = settings.AUTH_USER_MODEL
.
Редактировать:
Похоже, эта проблема была отмечена, но администратор проекта сложно сделать изменения. Ссылка ОтказЭто большая проблема с обновлениями в Django 1.7.
Я бы сказал, что вы можете: (1) Fork Repo и сделать изменение самостоятельно, или (2) внести изменения в папку пакетов сайта после установки PIP.Последняя версия не будет работать, если вы затем нанесите его на другой сервер и установите с требованиями. Atxt.Обратите внимание, что если вы делаете вариант 1 с требованиями. Atxt, вы захотите указать на вашу репо, а не Django-регистрацию.