我正在关注官方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')),
]
答案 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将正确解释项目。