flask实现瓜子二手车登录方式

这里找一个典型,瓜子二手车的登录方式,他是将登录和注册合为一体的方式,而且他在登录界面只获取了用户手机号码的信息。我就参照这个登录方式写了这一个项目

逻辑梳理

1.我们需要获取用户从前端传回的手机号码和验证码
2.校验手机号码是否为空,注意这里再次检查一遍是为了防止有些网络攻击方式
3.校验手机号码是否合法。
4.通过这个手机号码获取redis中的手机验证码
5.将redis中手机验证码和传回的验证码进行比对
6.如果比对成功,检测数据库中是否有已存在的手机用户
7.如果以存在该手机用户,不用保存该手机用户,直接在会话中保存该手机用户信息
8.如果不存在该手机用户,保存该手机用户,然后再在会话中保存该手机用户信息

代码实现

from . import apifrom flask import request,jsonify,session,render_template
from cars import redis_store,db
from cars.models import User@api.route('/login',methods=['post'])
def register():注意这里代码是把注册和登录写在一起的#cautious: our website's login and register method are both in the same method# todo acquire parameterphone=request.form.get('phone')获取手机号码msg=request.form.get('msg')获取手机验证码# todo verify parameter is not nullif not all([phone,msg]):return jsonify(message='parameter is not completed')验证手机验证码和手机号码不能为空# todo verify parameter is legel# todo get msgcode from redislocal_msg_code=redis_store.get('msg_%s'%phone).decode()获得redis中存储的手机验证码# todo compare two msgcode to make sure it is correctif msg!=local_msg_code:return  jsonify(message='msg_code is incorrect')如果验证码不匹配,报错# todo make sure the phone num is not in the mysql database# todo if not we will add this phone num to mysql databaseuser_obj=User.query.filter_by(phone=phone).first()获取用户对象,如果用户对象不存在,返回空对象if not user_obj:如果用户为空# when database have no data, add usernew_user_object=User(phone=phone)创建一个用户对象try:db.session.add(new_user_object)db.session.commit()将用户对象储存到mysql中user_obj=new_user_objectprint(user_obj.id)except Exception as e:db.session.rollback()如果储存不成功,那么就回滚return jsonify(message='error occur when save the data')# todo add userinfo to session把用户信息存到会话中,用户下次访问的时候可以通过session访问属于自己的数据session['user_id']=user_obj.idsession['user_phone']=user_obj.phonereturn jsonify(message='login success')


获取验证码

登录并注册

添加进的新用户

flask实现瓜子二手车登录方式相关推荐

  1. 瓜子二手车封宇:瓜子IM智能客服系统数据架构设计

    本文根据封宇在2018年10月18日[第十届中国系统架构师大会(SACC2018)]现场演讲内容整理而成. 讲师介绍: 封宇,瓜子二手车高级技术专家,中国计算机学会专业会员.2017年2月入职瓜子二手 ...

  2. 近期活动盘点:设计与人工智能思享会、制造业的转型升级到产业跃迁思享会、瓜子二手车周洲讲座(10.30-11.1)...

    想知道近期有什么最新活动?大数点为你整理的近期活动信息在此: 设计与人工智能思享会 2018年10月30日 活动简介: [时间]2018年10月30日(星期二)下午14:30~17:00 [地点]北京 ...

  3. 报名 | 瓜子二手车周洲:如何玩转AI赋能下的新零售?

    关于"新零售"的定义,曾一度众说纷纭,而当下较受认可的解释是:以消费者体验为中心的数据驱动的泛零售形态. 区别与以往任何一次零售变革,新零售将通过数据与商业逻辑的深度结合,真正实现 ...

  4. 瓜子二手车逃离行业“不可能三角”?

    文|曾响铃 来源|科技向令说(xiangling0815) 二手车江湖走过喧嚣与无序,正在回归平静.理性和秩序. "2019年11月实现集团整体盈利,预计Q4集团将实现整体盈利", ...

  5. 资本寒冬 瓜子二手车数据动刀“整容”只为傍大款?

    近日,从58赶集拆分出来独立运营的瓜子二手车对外宣布了一组十分可观的数据--实现了实时在售车源超5万辆.单日UV峰值超过200万.9月单月交易额超4亿的骄人成绩.并且获得了老东家排他性广告营销宣传支持 ...

  6. 告别孙红雷携手罗永浩,杨浩涌的瓜子二手车变成中间商?

    NEW 关注Tech逆向思维视频号 最新视频→[少女做胸透被要求脱光 真有必要还是过分要求?] 出品|雷达财经 文 | 张凯旌 编辑 | 深海 很多人对瓜子二手车的印象,还停留在那个孙红雷高呼&quo ...

  7. css瓜子二手车练习

    html <!DOCTYPE html> <html lang="en"> <head>     <meta charset=" ...

  8. 瓜子二手车如何玩转AI赋能下的新零售(附PPT下载)

    本讲座选自瓜子二手车新零售产品负责人.清华电子系校友周洲于近期在清华大数据"应用·创新"系列讲座上所做的题为<如何玩转AI赋能下的新零售>的演讲. 后台回复" ...

  9. “质量革命”背后:瓜子二手车的底层逻辑与战略选择

    有投资人曾将"节奏感"列为创业过程中的要素之一,对节奏的把控是企业发展中至关重要的一环. 瓜子踏准节奏的关键在于,在变化的行业中寻找支点.对它来说,这一支点是用户体验,是运营效率, ...

最新文章

  1. laravel的redis配置,一直报错Class 'Predis\Client' not found
  2. Js Chars应用
  3. C# 删除指定目录下具有某后缀的全部文件
  4. linux+内核中开启nfs,NFS Client in Linux Kernel - Open
  5. hadoop3.2.1和java1.7版本不兼容解决方案(virtualBox下ubuntu环境linux系统)
  6. 2篇word文档比较重复率_本科论文写作重复率高的原因,毕业论文降重技巧总结!...
  7. (转)Cortex-M3 (NXP LPC1788)之GPIO
  8. JavaScript 基础(十六):Navigator对象
  9. 如何安装mavaen_Maven的安装及配置
  10. 【kuangbin专题】Manacher
  11. 项目启动时 xml报错:Could not find SQL statement to include with refid 'mbgl.panDuanZbsfkxg'
  12. 阿里云轻量服务器使用
  13. 今天看到CSDN某博客提到的linux在线音乐播放器,移动的咪咕音乐不错,推荐一下
  14. (附源码)Springboot小型仪器公司生产管理系统 毕业设计 031853
  15. 深层次理解“万事万物皆为对象“ [Java]
  16. 基于个性化的电影推荐系统全流程设计
  17. mac hdmi 外接显示器没声音
  18. nexus5刷机双清 解决手机无限重启
  19. 剑指offer算法题分析与整理(二)
  20. 计算机c盘可以删除的文件,电脑C盘上的文件哪些可以大胆删除的?

热门文章

  1. 基于百度地图的电子围栏的实现之地理位置检索
  2. Day19 Oracle 数据库 创建表 约束 JDBC BaseDAO
  3. delphi android jni,Delphi使用android的NDK是通过JNI接口,封装好了,不用自己写本地代码,直接调用...
  4. 基于成本的优化--CBO-------v$SQL视图
  5. linux f5作用,[Linux]F5负载均衡器
  6. word出现乱码怎么转换正常?
  7. Qt学习之 在UI界面添加图片
  8. Alamofire源码分析 - POST请求
  9. singleton 单例模式
  10. 股票入门基础知识31:日本蜡烛图——十字线形态