ImportError: 'django.core.urlresolvers' adlı modül yok


167

Django projesi üzerinde çalışıyorum ve burada girdiler için bir form oluşturmam gerekiyor. Ben içe çalıştık reversedan django.core.urlresolvers. Bir hata aldım:

line 2, in from django.core.urlresolvers import reverse ImportError: No module named 'django.core.urlresolvers'

Python 3.5.2, Django 2.0 ve MySQL kullanıyorum.


1
django PATH'nize yüklenmemiş gibi görünüyor.
Håken Lid

Yanıtlar:


348

Django 2.0 , sürüm 1.10'a django.core.urlresolverstaşınan modülü kaldırır django.urls. Bunun yerine django.urls kullanmak için herhangi bir içe aktarmayı değiştirmelisiniz , şöyle:

from django.urls import reverse

Django 2.0'ın daha önce bulunan bazı özellikleri kaldırdığına dikkat edin django.core.urlresolvers, bu nedenle kodunuz çalışmaya başlamadan önce bazı değişiklikler yapmanız gerekebilir. Bu ek değişikliklerle ilgili ayrıntılar için 1.9'da kullanımdan kaldırılan özelliklere bakın .


1
Üçüncü taraf bir modülde bu hatayı alıyorum: nasıl çözebilirim? Modülü düzenleyebilirim ama düzeltilmemiş yeni bir sürümü yükselttiğimde ne olacak? Geçersiz kılmak mümkün mü?
fabio

Üçüncü taraf modülüne güncelleme isteğini gönderebilir ve gönderebilirsiniz
Gajit

62

geri almak istiyorsanız, buradan içe aktarın django.urls

from django.urls import reverse

27

Aşağıdakilerin tüm tekrarlarını değiştirmeniz gerekir:

from django.core.urlresolvers import reverse

için:

from django.urls import reverse

resim açıklamasını buraya girin

NOT: Aynısı reverse_lazy için de geçerlidir

Pycharm Cmd+ Shift+ ' da değiştirilmeye başlanır R .


Aynı hatayı aldım, şimdi denedim ve şimdi "Dosya: C: \ Kullanıcılar \ displ \ Kod \ .virtualenvs \ dev \ lib \ site-paketleri \ cms \ utils \ i18n.py", satır 4, <modül> içinde django.core.urlresolvers import get_resolver, LocaleRegexURLResolver ModuleNotFoundError: 'django.core.urlresolvers' adında bir modül yok, doğru cevabı tüm referansların yerine geçmesi gerekiyordu. Django bir çeşit berbat olsa da, bir sürü şey işe gitmiyor.
Rich Bianco

3

Bir Travis Build oluşturmaya çalışanlar için, Django'nun requirements.txtdosyadan yüklendiği varsayılan yol , django_extensionsmodülü güncellenmemiş bir repoya işaret eder . Şimdilik tek çözüm, pip kullanarak ana daldan kurulum yapmaktır. Yama burada yapılır. Ama şimdilik beklemek zorundayız.

Bu arada deneyebilirsiniz, yardımcı olabilir

- pip install git+https://github.com/chibisov/drf-extensions.git@master

- pip install git+https://github.com/django-extensions/django-extensions.git@master



2

2.0'dan büyük django sürümü için:

from django.urls import reverse

models.py dosyanızda.


1

TravisCI üzerindeki derlemeleriniz bu nedenle başarısız olursa, gereksinimlerinizdeki Django Uzantılarını güncelleyerek sorunu çözebilirsiniz.

pip install --upgrade django-extensions

Bu, uzantıları Django 2+ modüllerini kullanacak şekilde güncelleyecektir.


1

urlresolver, Django'nun daha yüksek sürümünde kaldırıldı - Lütfen django kurulumunuzu yükseltin. Aşağıdaki komutu kullanarak düzelttim.

pip install django==2.0 --upgrade

1

Bu sorunu çözmek Djangoiçin 2.0. pipkurulumdan daha düşük bir sürüme not verin Django==1.11.29.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.