2016-08-14 7 views
5

śledzę oficjalnego tutoriala django https://docs.djangoproject.com/en/1.10/intro/tutorial04/"ImportError: nie moduł o nazwie URL", a po Django Tutorial

Używam Django 1.9.8 i mam teraz otrzymuję następujący błąd w /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 

ankiety/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')), 
] 

mojawitryna/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')), 
] 

Odpowiedz

7

To poradnik wymaga Django 1.10, podczas gdy wydaje się, że korzystasz ze starszej wersji. W tym przypadku, należy zaimportować reverse następująco:

from django.core.urlresolvers import reverse 

Aby zaktualizować swoją wersję Django, należy użyć następującego polecenia (w linii poleceń, nie w Python Shell):

pip install --upgrade django 
+1

To prawda, dzięki :) – hkhr

0

Czasami, jeśli ktoś ma wiele kopii django działających na swoim komputerze, tak jak ja, jeśli obecny projekt wymaga innej wersji sjango, łatwiej jest po prostu przejść do preferences -> project interpreter -> add a virtual env -> install latest copy of django. Teraz pycharm zinterpretuje projekt poprawnie.

1

Najnowszy poradnik (https://docs.djangoproject.com/en/2.0/intro/tutorial01/) wykorzystuje Django 2.0, which supports Python 3.4 and later

Od wpadłem na tej samej kwestii miałem do uaktualnienia przez pytona, jak Django

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

aby zobaczyć swoją wersję programu django następujące polecenia -

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

dla mnie mówi: 2.0.1

sprawdzić wersję Pythona run -

python3 --version 

Dla mnie to Python 3.5.2