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

2024-02-29

我的网站之前可以正常运行,但突然开始出现错误

ImproperlyConfigured at / 包含的 urlconfresume.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 。 (我还创建了一个空白init.py 放在同一文件夹中,以便识别 url。)这是 ajax.py。

from django.conf.urls.defaults import *

urlpatterns = patterns('',
    (r'^star/(?P<object_id>\d+)$', 'resume.students.ajax-calls.star'),
)

有谁知道出了什么问题吗?这真让我抓狂。

Thanks,


TL;DR:您可能需要使用reverse_lazy()代替reverse()

If your urls.py导入一个基于类的视图,该视图使用reverse(),你会得到这个错误;使用reverse_lazy()会修复它。

对我来说,错误

包含的 urlconf project.urls 中没有任何模式

被抛出是因为:

  • project.urls进口的app.urls
  • app.urls进口的app.views
  • app.views有一个基于类的视图,使用reverse
  • reverse进口project.urls,导致循环依赖。

Using reverse_lazy https://docs.djangoproject.com/en/dev/ref/urlresolvers/#reverse-lazy代替reverse https://docs.djangoproject.com/en/dev/ref/urlresolvers/#reverse解决了这个问题:这推迟了 url 的反转,直到运行时第一次需要它为止。

寓意:永远使用reverse_lazy如果您需要在应用程序启动之前反转。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django - 包含的 urlconf 中没有任何模式 的相关文章

随机推荐