我正在关注Django教程,我正处于第3部分的末尾,在http://docs.djangoproject.com/en/1.1/intro/tutorial03/#intro-tutorial03处解耦URLconf,我收到一个“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:整个项目在
答案 0 :(得分:49)
我的项目根目录中遇到了类似的问题... django抱怨它无法找到模块mysite.urls。
使用默认值设置的settings.py中的ROOT_URLCONF变量设置不正确。而不是“mysite.urls”,它应该只是“urls”
我改变了它,瞧,它有效。
答案 1 :(得分:7)
mysite / polls /目录中是否有__init__.py
?
答案 2 :(得分:7)
我无法使用您的项目文件(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异常,因为缺少模板文件。
我担心我的回答可能是重新启动并再试一次。 ;)强>
答案 3 :(得分:4)
我的“没有名为mysite.urls的模块”也有一个奇怪的问题。 管理站点已关闭,我的整个站点都已停止。
在搜索网络几个小时后,解决方案就在我身边:Django正在缓存他从环境变量中知道的文件中的一些设置。
我刚刚关闭了我正在运行runnserver的终端并打开了一个新终端。
答案 4 :(得分:1)
我做了同样的事情。通过提前读取Python新手的错误。我创建了一个文件调用“polls.url”,认为它是某种特殊的django模板文件。
我误解了文字: “现在我们已经解耦了,我们需要通过从每一行中删除前导”polls /“来删除polls.urls URLconf,并删除注册管理站点的行。你的polls.urls文件现在应该如下所示: “
应该真的读到: “现在我们已经解耦了,我们需要通过从每行删除前导”polls /“来删除polls.urls URLconf,并删除注册管理站点的行。你的polls / urls.py文件现在应该看起来像这个: “
答案 5 :(得分:1)
晚会但我通过更正settings.py INSTALLED_APPS中的拼写错误来解决我的问题。我有'webbapp'而不是'webapp'所以你可能也想检查一下(对于那些仍有问题的人)
答案 6 :(得分:0)
与Ryan Bagwell一样,问题是(至少暂时)通过更改myproject / myproject / settings.py中的ROOT_URLCONF来解决。 我不得不添加&#34; myproject&#34;到ROOT_URLCONF有这个: &#34;%s.myproject.urls&#34; %PROJECT_APP