管理系统当然要有管理员登录功能啦,怎么做呢?
Lynjay的便利店管理系统,登录API如下:
1、请求消息:
POST /api/mgr/signin HTTP/1.1
Content-Type: application/x-www-form-urlencoded
2、请求参数:
http 请求消息 body 中 参数以 格式 x-www-form-urlencoded 存储
储存格式为:username=xxx&password=123456
接下来,编写程序吧!
一、创建处理登录功能的文件
在mgr文件夹中,新建sign.py文件(参考Django官方文档):
from django.http import JsonResponse
from django.contrib.auth import authenticate, login, logout
# 登录处理
def signin( request):
# 从 HTTP POST 请求中获取用户名、密码参数
userName = request.POST.get('username')
passWord = request.POST.get('password')
# 使用 Django auth 库里面的 方法校验用户名、密码
user = authenticate(username=userName, password=passWord)
# 如果能找到用户,并且密码正确
if user is not None:
if user.is_active:
if user.is_superuser:
login(request, user)
# 在session中存入用户类型
request.session['usertype'] = 'mgr'
return JsonResponse({'ret': 0})
else:
return JsonResponse({'ret': 1, 'msg': '请使用管理员账户登录'})
else:
return JsonResponse({'ret': 0, 'msg': '用户已经被禁用'})
# 否则就是用户名、密码有误
else:
return JsonResponse({'ret': 1, 'msg': '用户名或者密码错误'})
# 登出处理
def signout( request):
# 使用登出方法
logout(request)
return JsonResponse({'ret': 0})
二、配置路由
1、主url下查看是否有够跳转到mgr子路由文件的语句
2、打开mgr子路由文件添加配置语句:
三、进入管理员登录界面,查看效果
输入管理员登录网址:http://localhost/mgr/sign.html
将【超详细Django网站开发过程3】便利店管理系统之——该如何建立超级管理员账户去管理客户信息呢? 中我们所新建的超级管理员账号密码输入进去看是否能够登录成功。
登录成功。
点击退出,查看是否能够成功退出管理员账户:
退出成功。