我在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'),
)
答案 0 :(得分:3)
View类中的类级属性将在导入时分配。但是,在导入时尚未设置URL解析,因此它可能尚未运行。
错误消息是由于Django无论如何都试图使用它时绊倒了自己的脚。
解决方案:您必须将作业放入getter方法以推迟查找或使用reverse_lazy
。