我试图通过遵循《django by Example》一书来学习django,可能是由于版本冲突,我在尝试使用时遇到了这个问题django.auth公司以及一些URL设置 设置.py. 我现在非常沮丧,因为我甚至不知道如何开始调试这个错误。任何帮助或建议将不胜感激 以下是设置.py文件
from django.core.urlresolvers import reverse_lazy
LOGIN_REDIRECT_URL = reverse_lazy('dashboard')
LOGIN_URL = reverse_lazy('login')
LOGOUT_URL = reverse_lazy('logout')
应用程序视图.py公司名称:
^{pr2}$在网址.py在
from django.conf.urls import url
from . import views
app_name = 'account'
urlpatterns = {
url(r'^$', views.dashboard, name='dashboard'),
url(r'^login/$', 'django.contrib.auth.views.login', name='login'),
url(r'^logout/$', 'django.contrib.auth.views.logout', name='logout'),
url(r'^logout-then-login/$', 'django.contrib.auth.views.logout_then_login', name='logout_then_login'),
}
主网址.py公司名称:
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^account/', include('account.urls')),
]
更新设置.py公司名称:
LOGIN_REDIRECT_URL = reverse_lazy('account:dashboard')
LOGIN_URL = reverse_lazy('account:login')
LOGOUT_URL = reverse_lazy('account:logout')
当您使用
app_name
来设置一个命名空间时,当您include()
时将使用该命名空间网址.py在别的地方。在因此没有名为
"login"
的url,而是名为"account:login"
,这是必须传递给reverse()的名称。在相关文件:URL namespaces and included URLconfs
如果您使用的是django-extensions(您应该使用),那么可以使用管理命令
show_urls
获得项目中注册的所有url路由的格式良好的列表。在相关问题 更多 >
编程相关推荐