遵循Django教程,“ImportError:没有名为urls的模块”

时间:2016-08-14 09:44:59

标签: python django

我正在关注官方django教程https://docs.djangoproject.com/en/1.10/intro/tutorial04/

我正在使用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')),
]

3 个答案:

答案 0 :(得分:8)

当你似乎使用旧版本时,该教程需要Django 1.10。在这种情况下,您应该导入reverse,如下所示:

from django.core.urlresolvers import reverse

要升级Django版本,请使用以下命令(在命令行中,在Python shell中 not ):

pip install --upgrade django

答案 1 :(得分:1)

最新教程(https://docs.djangoproject.com/en/2.0/intro/tutorial01/)使用Django 2.0, which supports Python 3.4 and later

由于我遇到了同样的问题,我不得不通过python和django升级

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

看到你的django版本运行以下命令 -

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

对我说2.0.1

检查python版本运行 -

python3 --version

对我而言,Python 3.5.2

答案 2 :(得分:0)

有时,如果有一个django的副本像我一样在一台机器上运行,如果当前项目需要不同版本的sjango,则更容易转到SpringBootServletInitializer。 现在pycharm将正确解释项目。