用户登录登出

一、功能需求分析

  1.登录功能分析

    1.1登录流程

    1.2功能(一个请求为一个功能)

     ~登录页面

     ~登录功能

     ~登出功能

二、登录页面

  1.接口设计

    1.1.接口说明

    类目                  说明

    请求方式                GET

    url定义                 /usel/login/

    参数格式                无参数

    1.2返回结果

    登录页面

    1.3代码实现

三、登录功能

  1.业务流程

    1.1参数校验

      ~1.账户的校验

      ~2.密码的校验

      ~3.账户密码联合校验

    1.2登录逻辑

      ~1.在session中保存状态

      ~2.根据记住我选项,进行有效期的设置(session_id)

  2.接口设计

    2.1.接口说明

    类目                  说明

    请求方式                GET

    url定义                 /usel/login/

    参数格式                表单

    2.2参数说明

    参数名        类型      是否必须    描述

    account       字符串      是      用户输入的账户(手机号码或者用户名)

    password       字符串      是      用户输入的密码

    remember      字符串      否      用户是否勾选免登录

    2.3返回结果

    {

    error: '0'

    errmsg: 'ok'

    }

    2.4代码

user/views.py

class LoginView(View):
"""
登录视图
url: '/user/login/'
"""
def get(self, request):
return render(request, 'user/login.html')

def post(self, request):
#1.先校验
form = LoginForm(request.POST)
if form.is_valid():
#2.再登录
return json_response(errmsg='恭喜登录成')
else:
# 将表单的报错信息进行拼接
err_msg_list = []
for item in form.errors.values():
err_msg_list.append(item[0])

err_msg_str = '/'.join(err_msg_list)
return json_response(errno=Code.PARAMERR, errmsg=err_msg_str)

user/forms.py

四、登出功能

  1.接口设计

  接口说明

  类目          说明

  请求方法        GET

  url定义         /user/logout/

  参数格式        无参数

  2.后端代码

    

    

  

猜你喜欢

转载自www.cnblogs.com/wdty/p/11348893.html