Проблема совместимости совместимости Django-регистрации с Django 1.7

StackOverflow https://stackoverflow.com//questions/23037807

Вопрос

Я использую [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
.

И кажется, что он поднимается, потому что 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, и оно, кажется, это никогда не будет.Сопровождающий 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-регистрацию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top