没有名为urls的模块
我正在学习Django教程,现在到了第三部分的最后,主题是解耦URL配置。在这个链接上:http://docs.djangoproject.com/en/1.1/intro/tutorial03/#intro-tutorial03,我遇到了一个错误,提示“No module named urls”。
当我把:
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('mysite.polls.views',
(r'^polls/$', 'index'),
(r'^polls/(?P<poll_id>\d+)/$', 'detail'),
(r'^polls/(?P<poll_id>\d+)/results/$', 'results'),
(r'^polls/(?P<poll_id>\d+)/vote/$', 'vote'),
(r'^admin/', include(admin.site.urls)),
)
改成:
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^polls/', include('mysite.polls.urls')),
(r'^admin/', include(admin.site.urls)),
)
我把 include('mysite.polls.urls')),
改成了 include(mysite.polls.urls)),
,但还是不行。
这个问题怎么解决呢?
更新2:在 mysite/polls/urls.py 里是
from django.conf.urls.defaults import *
urlpatterns = patterns('mysite.polls.views',
(r'^$', 'index'),
(r'^(?P<poll_id>\d+)/$', 'detail'),
(r'^(?P<poll_id>\d+)/results/$', 'results'),
(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
)
更新4:整个项目在这里:
7 个回答
8
在我的网站的 polls 文件夹里,有一个叫 __init__.py
的文件吗?
52
我在项目的根目录也遇到了类似的问题……Django 报错说找不到模块 mysite.urls。
后来发现,我在 settings.py 文件里的 ROOT_URLCONF 变量设置错了,原本是用默认值设置的。它不应该是 "mysite.urls",而应该简单地写成 "urls"。
我把它改过来,结果就好了。
8
我在我的电脑上用你的项目文件(Windows 7,Django 1.1.1,Python 2.6.4)无法重现导入错误。所有的导入都正常,但网址的设置不太对(跟教程里说的不一样)。我修正了代码:
/mysite/urls.py:
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
(r'^polls/', include('mysite.polls.urls')),
(r'^admin/', include(admin.site.urls)),
)
/mysite/polls/urls.py:
from django.conf.urls.defaults import *
urlpatterns = patterns('mysite.polls.views',
(r'^$', 'index'),
(r'^(?P<poll_id>\d+)/$', 'detail'),
(r'^(?P<poll_id>\d+)/results/$', 'results'),
(r'^(?P<poll_id>\d+)/vote/$', 'vote'),
)
访问 http://127.0.0.1:8000/polls/ - 我遇到了一个TemplateDoesNotExist的异常,因为模板文件缺失。
我觉得我的建议可能就是重启一下再试试。 ;)