Saya sedang mengerjakan proyek Django di mana saya perlu membuat formulir untuk input. Saya mencoba mengimpor reverse
dari django.core.urlresolvers
. Saya mendapat kesalahan:
line 2, in from django.core.urlresolvers import reverse ImportError: No module named 'django.core.urlresolvers'
Saya menggunakan Python 3.5.2, Django 2.0 dan MySQL.
django
python-3.x
python-3.5
django-2.0
salimath viratayya
sumber
sumber
Jawaban:
Django 2.0 menghapus
django.core.urlresolvers
modul, yang dipindahkan kedjango.urls
dalam versi 1.10. Anda harus mengubah impor apa pun untuk menggunakan django.urls , seperti ini:Perhatikan bahwa Django 2.0 menghapus beberapa fitur yang sebelumnya ada
django.core.urlresolvers
, jadi Anda mungkin harus membuat beberapa perubahan lagi sebelum kode Anda berfungsi. Lihat fitur yang ditinggalkan pada 1.9 untuk detail tentang perubahan tambahan itu.sumber
jika Anda ingin mengimpor terbalik, impor dari
django.urls
sumber
Anda perlu mengganti semua kemunculan:
from django.core.urlresolvers import reverse
untuk:
from django.urls import reverse
CATATAN: Hal yang sama berlaku untuk reverse_lazy
di Pycharm Cmd+ Shift+ R untuk memulai penggantian di Path.
sumber
Bagi mereka yang mungkin mencoba membuat Travis Build, jalur default dari mana Django diinstal dari
requirements.txt
file menunjuk ke repo yangdjango_extensions
modulnya belum diperbarui. Satu-satunya solusi, untuk saat ini, adalah menginstal dari cabang master menggunakan pip. Di situlah tambalan dibuat. Tetapi untuk sekarang, kita harus menunggu.Anda dapat mencoba ini sementara itu, mungkin bisa membantu
- pip install git+https://github.com/chibisov/drf-extensions.git@master
- pip install git+https://github.com/django-extensions/django-extensions.git@master
sumber
gunakan yang ini:
sumber
Untuk versi django lebih besar dari 2.0 digunakan:
dalam file models.py Anda.
sumber
Jika build Anda di TravisCI gagal karena alasan khusus ini, Anda dapat menyelesaikan masalah ini dengan memperbarui Django Extensions di keperluan Anda.txt
Ini akan memperbarui ekstensi untuk menggunakan modul Django 2+.
sumber
urlresolver telah dihapus di versi Django yang lebih tinggi - Harap tingkatkan instalasi Django Anda. Saya memperbaikinya menggunakan perintah berikut.
sumber
Untuk mengatasinya, Anda menurunkan kelas
Django
ke versi apa pun yang lebih rendah daripada2.0. pip
menginstalDjango==1.11.29
.sumber