Django“没有模块命名的URL”错误

时间:2013-12-26 04:48:34

标签: python django

已经发布了许多类似的问题,但我已经尝试过这些解决方案无济于事。我正在学习一个基本的Django教程,这是我的代码:

urls.py

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'tango_with_django_project.views.home', name='home'),
    # url(r'^tango_with_django_project/', include('tango_with_django_project.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),

    url(r'^rango/', include('rango.urls')), # ADD THIS NEW TUPLE!
)

views.py

from django.http import HttpResponse

def index(request):
    return HttpResponse("Rango says hello world!")

来自settings.py文件

ROOT_URLCONF = 'tango_with_django_project.urls'

希望你们都能帮助我开始

3 个答案:

答案 0 :(得分:6)

假设我有一个名为FailBook的Django项目,有两个应用程序,帖子和链接。如果我查看FailBook / urls.py,我会找到类似

的内容
from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),

    url(r'^posts/', include('posts.urls')), ## Custom url include
    url(r'^links/', include('links.urls')), ## Custom url include
)

那么,当你查看目录结构时,你会发现还有两个urls.py文件

FailBook
|-- posts
   |-- models.py
   |-- urls.py
   |-- views.py
   |-- etc.
|-- links
   |-- models.py
   |-- urls.py
   |-- views.py
   |-- etc.

# urls.py file in the posts folder
from django.conf.urls import patterns, include, url
from .views import PostListView, PostDetailView

urlpatterns = patterns('',

    url(r'^posts/', PostListView.as_view()), 
    url(r'^posts/(?P<post_id>\d+)', PostDetailView.as_view()),
)
# where both views are class based views, hence the as_view function call

答案 1 :(得分:3)

我知道这已经解决了,但所提供的解决方案对我没有帮助。当我遇到这个错误时,就像检查所有应该有urls.py文件的目录一样简单。我发现urls.py还没有添加到我们的Django应用程序中提取的SVN存储库中。

我建议在projectname-&gt; projectname-&gt; urls.py中查找对应用特定网址的所有引用,并验证每个网址都存在urls.py文件。

答案 2 :(得分:0)

在执行Pluralsight Django教程时遇到了这个问题。我注意到了两件事:

1)我使用的是Django 2.0,而Django 1.11中的url()命令已在2.0中的re_path()中替换,可以通过以下方式导入:

from django.urls import path, include, re_path 

这取代了

from django.conf.urls import url, include

查看此内容:Django 2.0 release notes 并且,

2)我不小心调用了要从子文件夹url.py而不是urls.py导入的文件 例如rango / url.py不是rango / urls.py。

这可能是主要问题,并且在此修复程序之后一切都顺利进行。