ImportError: 'django.core.urlresolvers' नाम का कोई मॉड्यूल नहीं


167

मैं Django परियोजना पर काम कर रहा हूं जहां मुझे इनपुट के लिए एक फॉर्म बनाने की आवश्यकता है। मैं आयात करने की कोशिश की reverseसे django.core.urlresolvers। मुझे एक त्रुटि मिली:

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

मैं पायथन 3.5.2, Django 2.0 और MySQL का उपयोग कर रहा हूं।


1
ऐसा लगता है जैसे django आपके PATH पर स्थापित नहीं है।
हॉकेन लिड

जवाबों:


347

Django 2.0 django.core.urlresolversमॉड्यूल को हटाता है , जिसे django.urlsसंस्करण 1.10 में ले जाया गया था । आपको इसके बजाय django.urls का उपयोग करने के लिए किसी भी आयात को बदलना चाहिए :

from django.urls import reverse

ध्यान दें कि Django 2.0 कुछ सुविधाओं को हटाता है जो पहले थे django.core.urlresolvers, इसलिए आपको अपने कोड के काम करने से पहले कुछ और बदलाव करने पड़ सकते हैं। उन अतिरिक्त परिवर्तनों के विवरण के लिए 1.9 में चित्रित सुविधाएँ देखें ।


1
मुझे तीसरे पक्ष के मॉड्यूल में यह त्रुटि है: मैं कैसे हल कर सकता हूं? मैं मॉड्यूल को संपादित कर सकता हूं, लेकिन तब क्या होगा जब मैं एक नए बिना पढ़े संस्करण को अपग्रेड करूं? क्या ओवरराइड करना संभव है?
फैबियो

आप अपडेट कर सकते हैं और थर्ड पार्टी मॉड्यूल
गजित

62

यदि आप रिवर्स आयात करना चाहते हैं, तो इसे आयात करें django.urls

from django.urls import reverse

27

आपको निम्नलिखित सभी घटनाओं को बदलना होगा:

from django.core.urlresolvers import reverse

सेवा:

from django.urls import reverse

यहां छवि विवरण दर्ज करें

नोट: वही उल्टा_गर्ल पर लागू होता है

Pycharm में Cmd+ Shift+ R पथ में प्रतिस्थापन शुरू करने के लिए।


मुझे वही त्रुटि मिली, यह कोशिश की गई और अब त्रुटि फ़ाइल प्राप्त करें "C: \ Users \ Displ \ Code \ .virtualenvs \ dev \ lib \ site-package \ cms \ utils \ i18n.py", पंक्ति 4, में <मॉड्यूल django.core.urlresolvers आयात get_resolver, LocaleRegexURLResolver ModuleNotFoundError: 'django.core.urlresolvers' नाम का कोई भी मॉड्यूल ऐसा नहीं था, जिसे सही उत्तर में कहा गया हो कि सभी संदर्भों को बदल दें। Django तरह बेकार है, हालांकि सामान का बहुत काम नहीं करता है।
रिच बियान्को

3

जो लोग ट्रैविस बिल्ड बनाने की कोशिश कर रहे हैं उनके लिए, डिफ़ॉल्ट पथ जिसमें से Django requirements.txtफ़ाइल बिंदुओं से एक रेपो तक स्थापित है जिसका django_extensionsमॉड्यूल अपडेट नहीं किया गया है। एकमात्र समाधान, अभी के लिए, पाइप का उपयोग करके मास्टर शाखा से स्थापित करना है। यह वह जगह है जहाँ पैच बनाया जाता है। लेकिन अभी के लिए, हमें इंतजार करना होगा।

आप इस बीच यह कोशिश कर सकते हैं, यह मदद कर सकता है

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

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




1

यदि ट्रैविससी पर आपके निर्माण इस विशेष कारण से विफल हो रहे हैं, तो आप अपनी आवश्यकताओं में Django एक्सटेंशन को अपडेट करके समस्या को हल कर सकते हैं।

pip install --upgrade django-extensions

यह Django 2+ मॉड्यूल का उपयोग करने के लिए एक्सटेंशन को अपडेट करेगा।


1

urlresolver को Django के उच्च संस्करण में हटा दिया गया है - कृपया अपनी django स्थापना को अपग्रेड करें। मैंने इसे निम्नलिखित कमांड का उपयोग करके ठीक किया।

pip install django==2.0 --upgrade

1

इसे हल करने के लिए या तो आप Djangoकिसी भी संस्करण को डाउन-ग्रेड 2.0. pipइंस्टॉल करने से कम करते हैं Django==1.11.29

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.