没有名为urls的模块

时间:2010-03-01 01:29:17

标签: python django

我正在关注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:整个项目在

http://www.mediafire.com/?t1jvomjgjz1

7 个答案:

答案 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