Django-registration Kompatibilitätsproblem mit django 1.7
Habe ich mit [django-registration] (https://bitbucket.org/ubernostrum/django-registration) und jetzt habe ich angefangen mit django 1.7b1 und hier ist der Fehler, ich bin immer der Fehler unten kopiert. Es wird ausgelöst werden, von django-registration in models.py
:
try:
from django.contrib.auth import get_user_model
User = get_user_model()
except ImportError:
from django.contrib.auth.models import User
und es scheint, es wird ausgelöst werden, da get_user_model()
aufgerufen wird, bevor die app-Registrierung bereit ist. Ich bin nicht sicher, ob das ein Kompatibilitätsproblem oder nicht, wenn ja gibt es eine einfache Abhilfe für dieses? und wenn nicht können Sie mir helfen identifizieren, was ich falsch mache?
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.")
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht die django-Registrierung von PyPI. Es unterstützt nicht Django 1.7 und es scheint, dass es nie wird. Der repo-maintainer hat abgedankt und das Projekt scheint nicht mehr gepflegt.
Gibt es eine Wartung der Gabel verfügbar auf Github gearbeitet hat auch für mich mit Django 1.7:
https://github.com/macropin/django-registration
Es ist verfügbar auf PyPI als django-registration-redux.
https://pypi.python.org/pypi/django-registration-redux/
Können Sie die Installation über pip:
pip install django-registration-redux
Dieser Hinweis Adressen Ihr problem.
Ich denke, die bevorzugte Methode zum importieren von Benutzer:
EDIT:
Aussieht wie dieses problem festgestellt wurde, aber das Projekt-admin ist schwer zu machen das zu ändern. link. Das ist ein größeres problem mit den updates in Django 1.7.
Ich würde sagen, Sie könnte entweder: (1) Gabel die repo und machen das selbst ändern, oder (2) die änderungen in Ihrer Website packages-Ordner, nachdem Sie pip installieren. Die letztere version wird nicht so gut funktionieren, wenn Sie dann schieben Sie es auf einem anderen server und installieren mit requirements.txt. Beachten Sie, dass wenn Sie in option 1 mit requirements.txt, werden Sie wollen, zeigen Sie es auf Ihren repo-eher als Django-registration.
get_user_model()
in meinem code beim import, es wird genannt in der django-registration Anwendung. Das bedeutet also, django-die Registrierung ist nicht kompatibel mit 1.7 b?User = settings.AUTH_USER_MODEL
würde den job tun, dasettings.AUTH_USER_MODEL
gibt einen string zurück, und mitget_model()
um die tatsächliche Modell-Klasse ist hier nicht möglich.try: from django.contrib.auth import get_user_model User = get_user_model() except ImportError: from django.contrib.auth.models import User
Was ist, wenn Sie löschen die ersten vier Zeilen:from django.contrib.auth.models import User
settings.AUTH_USER_MODEL
funktionieren sollte.