1.后端登录操作
1.1获取数据
在user的py文件中,创建蓝图
# 后端登录的实现
# 使用get请求不安全
@user.route('/login',methods=['POST'])
def login():
# 从前端输入框中获取,此时还没写前端使用postman测试
name = request.form.get('name')
password = request.form.get('pwd')
1.2验证数据
# 判断两个是否为非空值
if not all([name,password]):
pass
为了减少服务器压力,可以在获取到数据之后,判断一下是否为真值。由于我们还没有写前端页面,无法去输入。这里可以使用开发者工具Postman进行测试,模拟用户输入。同时,也可以打开VScode的调试模式,去接收postman传来的数据。也可以使用VSCode的调式模式去测试all()函数的作用
1.2.1VScode调式模式测试函数
1.2.2Postman调试
完整代码
# flask_shop/user/view.py
# 此文件用于处理关于用户的业务逻辑,视图都写在这
# 导入用户的蓝图对象,这里的user不是文件,是在user.py定义好的蓝图对象
from urllib import request
from flask_shop.user import user
from flask_shop import db
from flask_shop import models
@user.route("/")
def index():
return "Hello user"
# 后端登录的实现
# 使用get请求不安全
@user.route('/login',methods=['POST'])
def login():
# 从前端输入框中获取,此时还没写前端使用postman测试
name = request.form.get('name')
pwd= request.form.get('pwd')
# 判断两个是否为非空值
if not all([name,pwd]):
return {'status':10000,'msg':'数据不完整'}
if len(name) > 1:
# SQLALCHEMY查询语句:获取用户字段,得到实例对象
usr = models.User.query.filter_by(name =name).first()
if usr:
# 调用usr视图中的验证蓝图
if usr.check_password(pwd):
return {'status':200,'msg':"登录功能"}
return {'status':10001,'msg':'用户名或密码错误'}#防止用户暴力测试