本篇介绍django的后台管理,以及使用后台默认的用户账号,实现用户登录身份验证。
1、创建管理员账户
python manage.py createsuperuser
输入用户名,邮箱,密码
2、登录管理页面
http://localhost:8000/admin
3、创建用户组与用户
创建用户组,并且对用户组授予权限。
创建用户,划入用户组,并且启用账户。
注销,使用用户账户登录尝试。
4、修改views.py
我们计划调用django admin自带的用户管理与登录认证,这样就不需要自己重写。
导入对应的包
django.http HttpResponseRedirect django.contrib auth django.contrib.auth.decorators login_requiredpermission_required
然后编写login_action函数
(request): request.method == : username = request.POST.get() #从前端的POST请求获取用户名 password = request.POST.get() #从前端的POST请求获取密码 userinfo = auth.authenticate(=username=password) #利用django admin的auth模块认证鉴权 userinfo : auth.login(requestuserinfo) #利用auth模块获取当前已登录的用户session request.session[] = username stuinfo = student.objects.filter(=username) #判断认证成功的用户是否在学生表里面存在,是则是学生,否则是老师 stuinfo: HttpResponseRedirect() #跳转到老师个人信息页 : HttpResponseRedirect() #跳转到老师个人信息页 : render_to_response(()) #用户名密码不正确,跳转回index.html页
上述代码,其实就是用前段页面的POST动作获取username与password,先认证用户名密码是否正确。如果正确,正面django用户数据库有此用户。
再判断该用户是否存在student表里面,如果是,就是学生,则利用HttpResponseRedirect重定向页面到学生个人信息页(stuinfo),如果不存在student表里面,那么肯定是老师,就跳转tchinfo的老师个人信息页。
如果用户名密码认证不通过,就依然跳转回index.html登录页。
#注意记得将之前测试的login函数删除了,还有原来index.html里面增加的测试代码需要删除。
5、修改urls
老规矩,增加了函数,必须到urls里面添加路由。
url(r'^login_action/', login_action),
6、修改前端页面
index.html的