前言
经过几天的摸索吧,现在的登录系统以及相当的完善了。
保活以及对个人信息的修改等等功能都写好了。
????????????????????????????????????????????????????????????????????????????????????????????????
????一,webapp前后端分离开发【MUI+Flask】
????????????????????????????????????????????????????????????????????????????????????????????????
三,今天着重写一下个人信息的修改
3.1,注意的问题哈:
1,更改个人的信息,对于的uuid不变,只改变他的username,possword,name,三个建,对应的积分不变。
2,而且:修改的username必须保证数据库里没有这条username。
其实这些都不是很难哈,容易实现的。
四,后端(主要):
信息修改:
建立一个名为mylist路由,对应前端请求。
res={"username":session['username']}
上文代码解释:
获取保活的用户名——username,作为关键字。
find=db.mongo.find_one(res)
上文代码解释:
用find_one方法,已res字典为关键字,遍历数据库,找到现在登录的目标字典集。
user_info=request.form.to_dict()
上文代码解释:
将前端传来的json转为字典,赋值给user_info
username= {"username":request.form.get('username')}
judge=db.mongo.find_one(username)
上文代码解释:
为了实现去重功能,(如果现在修改的这个username数据库已经存在的话返回mag:此账号名已被占用,请重新填写!)状态码200.不执行数据库修改操作。
否则:
因为我其他平台需要交稿哈,代码占比不能太多,多多理解
解释:
如果judge为空,说明前端提交的usernam数据库里面没有,可以执行修改操作。
session['username'] = False
记得解除当前登录状态。因为,前端我写的如果返回成功修改的话,会跳到重新登陆界面,保活当然要取消了。
return jsonify({"stayus":200,"mag":"已成功修改,请重新登录!"})
return jsonify({"stayus":200,"mag":"此账号名已被占用,请重新填写!"})
4.1,mongoDb用python操作解释:
db.mongo.update_one(
{'_id':find['_id']},
{'$set':user_info
}
)
看这就是一个简单的修改操作,怎么理解呢?
update_one方法代表着,修改一条数据
(x,y)
x代表着寻找关键字。y代表修改的键
用图表示:
当然x代表着寻找关键字,这个没有限制哈,不单单是uuid,我这里是功能需要。
五,前端(小问题):
随便写一下。
修改页面的话:也是基本的操作,之前文章写过,不详细写了。
后言
可能看图,看不出来哈,经过我的测试这个功能还是相当友好的。非常的顺滑。
之前认为很难实现的事情,实际做起来不是很难哈。虽然俩天学了3个数据库,最后决定采用mongoDB,但是确实对数据库的理解比之前写项目的MySQL和sqllite的时候要好一点。
现在前后端分离只支持局域网访问,正在打算搞一个服务器,布置到服务器上去,这样团队开发友好一点哈。
现在打包,在手机上运行感觉很丝滑哈。比较不错
PS:某阿的学生机服务器不能买了,搞一个某腾的服务器吧。