苦咖啡flask 2020-06-25
这个技术是在flask框架中使用python对数据库进行增删改查操作。学习的原因是为后端实现对数据库的操作,技术难点在之前对python语言不是很了解,所以在刚开始学习这个内容的时候有些困难。
新增用户(此时已经判断各参数数值符合要求)
if code == 0 : user = User( username=username, nickname=nickname, email=email, avatar=filenames[1], ) user.set_password(password) db.session.add(user) db.session.commit()
其中set_password函数定义
password_hash = db.Column(db.String(128)) def set_password(self,password): self.password_hash=generate_password_hash(password)
获取数据库中用户资料
@user_bp.route(‘/profile‘,methods=[‘GET‘]) @user_bp.route(‘/profile/<int:uid>‘,methods=[‘GET‘]) def profile(uid=-1): results = {} if uid == -1 : uid = int(current_user.get_id()) user = User.query.get(uid) data = { ‘uid‘ : int(uid), ‘username‘ : user.username, ‘email‘ : user.email, ‘nickname‘ : user.nickname, ‘signature‘ : user.signature } results[‘code‘] = 0 results[‘msg‘] = ‘获取资料成功‘ results[‘data‘] = data return json.dumps(results)
修改密码(此时已经判断密码合法)
@user_bp.route(‘/change_password‘,methods=[‘POST‘]) def change_password(): results = {} #修改密码时旧密码 old_password = request.form.get(‘old_password‘) #修改密码时新密码 new_password = request.form.get(‘new_password‘) id = int(current_user.get_id()) user = User.query.get(id) ...... else : results[‘code‘] = 0 results[‘msg‘] = current_app.config[‘CHANGE_PASSWD‘][0] user.set_password(new_password) db.session.commit() return json.dumps(results)
因为flask框架以及python语言对于我来说都是新学习的知识,所以在使用过程中一直有在组长给的参考书《Flask Web开发:Python基于Web应用开发实战 第 2 版 》中学习数据库相关操作。
刚开始学习这一块知识的时候感觉很难,因为是一个全新的语言和框架。但是后来在组长的帮助下慢慢的开始理解里面的一些知识点,对数据库的操作也逐渐熟悉起来。中间碰到的一些问题也会与组长讨论或者上网百度看看有没有更好的解决办法。这段时间学习下来也算小有成就,但是还是不够熟练,希望自己以后在用到的时候能更加熟练一些。
《Flask Web开发:Python基于Web应用开发实战 第 2 版 》 【美】米格尔·格林贝格 著
5.8节 数据库操作