Django:包含的URLconf"似乎没有任何模式"

时间:2014-09-28 00:03:46

标签: django redirect django-class-based-views

我在Django 1.7上。

正确配置了两个urls.py个文件。我有一个项目urls(包含相应的包含)和一个应用urls,并且设置正确。网址完美无缺。

除非在我的RedirectView上,否则我会这样说:url = reverse('x')

如果我尝试使用反向,我会收到此错误The included urlconf '<project>.urls' does not appear to have any patterns in it

删除有问题的行并刷新并不能解决问题。我必须重新启动将修复它的django服务器。

reverse('x')确实有效,我在其他CBV中使用它。

Project urls.py

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

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

url(r'^admin/', include(admin.site.urls)),
url(r'^users/', include('django_users.urls')),
)

App urls.py

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

urlpatterns = patterns('',
  # Users
  url(r'^register/$', django_users.views.RegisterUser.as_view(),
      name='register-user'),
  url(r'^login/$', django_users.views.LoginUser.as_view(),
      name='login-user'),
  url(r'^logout/$', django_users.views.LogoutUser.as_view(),
      name='logout-user'),
  url(r'^password/$', django_users.views.PasswordChangeUser.as_view(),
      name='password-change-user'),
)

1 个答案:

答案 0 :(得分:3)

View类中的类级属性将在导入时分配。但是,在导入时尚未设置URL解析,因此它可能尚未运行。

错误消息是由于Django无论如何都试图使用它时绊倒了自己的脚。

解决方案:您必须将作业放入getter方法以推迟查找或使用reverse_lazy

请参阅https://stackoverflow.com/a/7249228/2810305