2016-08-14 4 views
5

Я после официального Джанго учебника https://docs.djangoproject.com/en/1.10/intro/tutorial04/«ImportError: Нет модуль с именем» URLs, следуя Джанго Учебник

Я использую Django 1.9.8 и теперь я получаю следующее сообщение об ошибке в /polls/views.py:

File "C:\Users\hk\Documents\mysite\polls\views.py", line 4, in <module> 
    from django.urls import reverse 
ImportError: No module named urls 

опросы/views.py

from django.shortcuts import get_object_or_404, render 
from django.http import HttpResponseRedirect, HttpResponse 
from django.urls import reverse 

from .models import Choice, Question 
# ... 

MySite/urls.py

from django.conf.urls import include, url 
from django.contrib import admin 

admin.autodiscover() 

urlpatterns=[ 
url(r'^admin/', admin.site.urls), 
url(r'^polls/', include('polls.urls')), 
] 

MySite/MySite/urls.py

from django.conf.urls import include,url 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^polls/', include('polls.urls')), 
] 

ответ

7

Это учебник требует Django 1.10 в то время как вы, кажется, использует старую версию. В этом случае, вы должны импортировать reverse следующим образом:

from django.core.urlresolvers import reverse 

Чтобы обновить версию Django, используйте следующую команду (в командной строке, не в оболочке Python):

pip install --upgrade django 
+1

Это верно, спасибо :) – hkhr

0

Иногда, если у вас есть несколько копий django, работающих на вашем компьютере, как я, если для текущего проекта требуется другая версия sjango, проще просто перейти к preferences -> project interpreter -> add a virtual env -> install latest copy of django. Теперь pycharm правильно интерпретирует проект.

1

Последнее учебное пособие (https://docs.djangoproject.com/en/2.0/intro/tutorial01/) использует Django 2.0, which supports Python 3.4 and later

Так как я столкнулся с этим же вопросом я должен был обновить на питона, а также Джанго

sudo apt-get -y install python3-pip 
pip3 install --upgrade django 

, чтобы увидеть вашу Джанго версии выполнить следующую команду -

python3 -c "import django; print(django.get_version())" 

для меня это говорит 2.0.1

Для проверки питона версии Run -

python3 --version 

Для меня это Python 3.5.2

Смежные вопросы