没有名为urls的模块

Del*_*ens 23 python django

我正在关注Django教程,我在第3部分的末尾,在解耦URLconfs,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)),
)
Run Code Online (Sandbox Code Playgroud)

至:

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)),
)
Run Code Online (Sandbox Code Playgroud)

我换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'),
)
Run Code Online (Sandbox Code Playgroud)

更新4:整个项目在

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

小智 49

我在我的项目根目录中遇到了类似的问题... django抱怨它无法找到模块mysite.urls.

原来在settings.py中使用默认值设置的ROOT_URLCONF变量设置不正确.而不是"mysite.urls",它应该只是"网址"

我改变了,瞧,它有效.


Car*_*ano 8

是否有一个__init__.py内部的mysite/polls /目录?

  • 空的很好,只是告诉Python目录是一个包.确保父`mysite`目录中还有一个`__init __.py` (2认同)
  • 我会假设有一个.如果Delirium遵循Django教程,他可能使用`djangoadmin.py` /`manage.py`命令来创建站点和应用程序.默认情况下,它们将`__init __.py`放在那里.据我所知,Delirium有一个工作站点,使用`polls`模块,直到他尝试将URLConf与站点分离并将其放入应用程序.这似乎表明存在关于`urls.py`文件的位置及其调用方式的问题. (2认同)

Lan*_*ney 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)),
)
Run Code Online (Sandbox Code Playgroud)

/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'),
)
Run Code Online (Sandbox Code Playgroud)

访问http://127.0.0.1:8000/polls/ - 我收到了TemplateDoesNotExist异常,因为缺少模板文件.

我担心我的回答可能是重新启动并再试一次.;)


Gui*_*dre 5

我还遇到了一个奇怪的问题“没有名为 mysite.urls 的模块”。管理网站和我的整个网站都瘫痪了。

经过几个小时的网络搜索后,解决方案就在我这边:Django 正在将一些设置缓存在他从环境变量中知道的文件中。

我刚刚关闭了正在执行 runnserver 操作的终端,然后打开了一个新终端。