Ich arbeite an einem Django-Projekt, bei dem ich ein Formular für Eingaben erstellen muss. Ich habe versucht, reverse
aus zu importieren django.core.urlresolvers
. Ich habe eine Fehlermeldung erhalten:
line 2, in from django.core.urlresolvers import reverse ImportError: No module named 'django.core.urlresolvers'
Ich benutze Python 3.5.2, Django 2.0 und MySQL.
django
python-3.x
python-3.5
django-2.0
viratayya salimath
quelle
quelle
Antworten:
Django 2.0 entfernt das
django.core.urlresolvers
Modul, auf dasdjango.urls
in Version 1.10 verschoben wurde . Sie sollten jeden Import so ändern, dass stattdessen django.urls verwendet wird:Beachten Sie, dass Django 2.0 einige Funktionen entfernt, die zuvor vorhanden waren
django.core.urlresolvers
, sodass Sie möglicherweise weitere Änderungen vornehmen müssen, bevor Ihr Code funktioniert. Weitere Informationen zu diesen zusätzlichen Änderungen finden Sie in den in 1.9 veralteten Funktionen .quelle
Wenn Sie Reverse importieren möchten, importieren Sie es von
django.urls
quelle
Sie müssen alle Vorkommen von Folgendem ersetzen:
from django.core.urlresolvers import reverse
zu:
from django.urls import reverse
HINWEIS: Gleiches gilt für reverse_lazy
in PyCharm Cmd+ Shift+ R für replacment in Weg beginnen.
quelle
Für diejenigen, die möglicherweise versuchen, einen Travis Build zu erstellen,
requirements.txt
verweist der Standardpfad, über den Django aus der Datei installiert wird, auf ein Repo, dessendjango_extensions
Modul nicht aktualisiert wurde. Die einzige Problemumgehung besteht derzeit darin, mithilfe von pip vom Hauptzweig aus zu installieren. Hier wird der Patch erstellt. Aber jetzt müssen wir warten.Sie können dies in der Zwischenzeit versuchen, es könnte helfen
- pip install git+https://github.com/chibisov/drf-extensions.git@master
- pip install git+https://github.com/django-extensions/django-extensions.git@master
quelle
verwende das hier:
quelle
Für Django-Versionen größer als 2.0 verwenden Sie:
in Ihrer Datei models.py.
quelle
Wenn Ihre Builds auf TravisCI aus diesem bestimmten Grund fehlschlagen, können Sie das Problem beheben, indem Sie die Django-Erweiterungen in Ihrer Anforderung.txt aktualisieren
Dadurch werden die Erweiterungen aktualisiert, um Django 2+ -Module zu verwenden.
quelle
urlresolver wurde in der höheren Version von Django entfernt - Bitte aktualisieren Sie Ihre Django-Installation. Ich habe es mit dem folgenden Befehl behoben.
quelle
Um dies zu lösen, stufen Sie die
Django
Version auf eine Version herunter, die kleiner als die2.0. pip
Installation istDjango==1.11.29
.quelle