django之用户认证模块

按照《Pyhon编程:从入门到实践》中的教程,有些命令由于Django版本不同,会有错误。

问题一:写到django用户login时,发生了错误。
1
2
3
4
5
6
from django.contrib.auth.views import login
from . import views
urlpatterns = [
# 登录页面
url(r'^login/$', login, {'template_name': 'users/login.html'}, name='login'),
]

原因还是django的版本不同造成的,经过排查,修改为如下后正常。

1
2
3
4
5
6
7
8
9
from django.conf.urls import url
from django.contrib.auth.views import LoginView
from . import views
app_name = 'users'

urlpatterns = [
# 登录页面
url(r'^login/$', LoginView.as_view(template_name='users/login.html'), name='login'),
]

问题二:logout模块导入出错

老版本用的是下列的模块:

1
from django.core.urlresolvers import reverse

新版本的句式如下:

1
from django.urls import reverse