代码之家  ›  专栏  ›  技术社区  ›  unsorted

Django-包含的urlconf中没有任何模式

  •  34
  • unsorted  · 技术社区  · 15 年前

    我的网站,这是以前的工作,突然开始打破与错误。

    “不适当的配置/ 包含的urlconf resume.urls中没有任何模式。”

    这个项目的基础叫做简历。在settings.py中我已经设置了

    ROOT_URLCONF = 'resume.urls'
    

    这是我的resume.urls,它位于项目根目录中。

    from django.conf.urls.defaults import *
    
    # Uncomment the next two lines to enable the admin:
    from django.contrib import admin
    admin.autodiscover()
    
    urlpatterns = patterns('',
        # Example:
        # (r'^resume/', include('resume.foo.urls')),
    
        # Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
        # to INSTALLED_APPS to enable admin documentation:
        (r'^admin/doc/', include('django.contrib.admindocs.urls')),
    
        # Uncomment the next line to enable the admin:
        (r'^admin/', include(admin.site.urls)),
    
        (r'^accounts/login/$', 'django.contrib.auth.views.login'),
    
    
        #(r'^employer/', include(students.urls)),
    
        (r'^ajax/', include('urls.ajax')),
        (r'^student/', include('students.urls')),
        (r'^club/(?P<object_id>\d+)/$', 'resume.students.views.club_detail'),
        (r'^company/(?P<object_id>\d+)/$', 'resume.students.views.company_detail'),
        (r'^program/(?P<object_id>\d+)/$', 'resume.students.views.program_detail'),
        (r'^course/(?P<object_id>\d+)/$', 'resume.students.views.course_detail'),
        (r'^career/(?P<object_id>\d+)/$', 'resume.students.views.career_detail'),
    
        (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': 'C:/code/django/resume/media'}),
    
    )
    

    我在里面有一个名为urls的文件夹和一个文件ajax.py。(我还创建了一个空白 初始化 .py在同一个文件夹中,以便识别URL。)这是ajax.py。

    from django.conf.urls.defaults import *
    
    urlpatterns = patterns('',
        (r'^star/(?P<object_id>\d+)$', 'resume.students.ajax-calls.star'),
    )
    

    有人知道怎么回事吗?这让我发疯了。

    谢谢,

    4 回复  |  直到 8 年前
        1
  •  27
  •   AdmiralNemo    15 年前

    检查您的模式是否包含指向不存在的模块或不具有 urlpatterns 成员。我看到你有一个 include('urls.ajax') 这可能不正确。应该是 ajax.urls ?

        2
  •  51
  •   Aur Saraf    8 年前

    你可能需要使用 reverse_lazy() 而不是 reverse()

    如果你 urls.py 导入基于类的视图,该视图使用 回复() ,您将得到此错误;使用 ReaveSo LZ() 会修复它。

    对我来说,错误

    包含的urlconf项目.url中没有任何模式

    被抛出是因为:

    • project.urls 进口的 app.urls
    • App.URL 进口的 app.views
    • App.VIEW视图 有一个基于类的视图 reverse
    • 颠倒 进口 项目网址 导致循环依赖。

    使用 reverse_lazy 而不是 reverse 解决了这个问题:这推迟了URL的反转,直到在运行时首次需要它。

    道德:总是使用 懒惰的人 如果你需要在应用程序启动前反转。

        3
  •  2
  •   harijay    11 年前

    在我的例子中,我在部署期间得到了这个错误。 Apache一直给我“ah01630:客户端被服务器配置拒绝”错误。 这表明Apache配置有问题。为了帮助排除故障,当我看到这个错误时,我在settings.py中打开了debug=true。

    最后,我必须向apache配置中的静态文件配置添加一个新的指令。当静态文件不可访问且Django设置中的调试设置为“真”时,会以某种方式触发此错误。

        4
  •  1
  •   radtek    11 年前

    我在尝试使用RedirectView和URL中的参数来反转(和反转懒惰)时得到了这个错误。违规代码如下:

    from django.views.generic import RedirectView
    from django.core.urlresolvers import reverse
    url(r'^(?P<location_id>\d+)/$', RedirectView.as_view(url=reverse('dailyreport_location', args=['%(location_id)s', ]))),
    

    修复方法是在urlpatterns中使用此URL:

    from django.views.generic import RedirectView
    url(r'^(?P<location_id>\d+)/$', RedirectView.as_view(url='/statistics/dailyreport/%(location_id)s/')),
    

    回答 :修复,以便您仍然可以使用URL模式的名称:

    from django.core.urlresolvers import reverse
    from django.http import HttpResponseRedirect
    urlpatterns = patterns('',
        ....
        url(r'^(?P<location_id>\d+)/$', lambda x, location_id: HttpResponseRedirect(reverse('dailyreport_location', args=[location_id])), name='location_stats_redirect'),
        ....
    )