zoukankan      html  css  js  c++  java
  • Flask数据库操作

    Flask数据库操作

    1、技术概述,描述这个技术是做什么?学习该技术的原因,技术的难点在哪里。控制在50-100字内。

    这个技术是在flask框架中使用python对数据库进行增删改查操作。学习的原因是为后端实现对数据库的操作,技术难点在之前对python语言不是很了解,所以在刚开始学习这个内容的时候有些困难。

    2、技术详述,描述你是如何实现和使用该技术的,要求配合代码和流程图详细描述。可以再细分多个点,分开描述各个部分。

    新增用户(此时已经判断各参数数值符合要求)

    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)
    

    3、技术使用中遇到的问题和解决过程

    因为flask框架以及python语言对于我来说都是新学习的知识,所以在使用过程中一直有在组长给的参考书《Flask Web开发:Python基于Web应用开发实战 第 2 版 》中学习数据库相关操作。

    4、进行总结。

    刚开始学习这一块知识的时候感觉很难,因为是一个全新的语言和框架。但是后来在组长的帮助下慢慢的开始理解里面的一些知识点,对数据库的操作也逐渐熟悉起来。中间碰到的一些问题也会与组长讨论或者上网百度看看有没有更好的解决办法。这段时间学习下来也算小有成就,但是还是不够熟练,希望自己以后在用到的时候能更加熟练一些。

    5、列出参考文献、参考博客(标题、作者、链接)。

    《Flask Web开发:Python基于Web应用开发实战 第 2 版 》 【美】米格尔·格林贝格 著
    5.8节 数据库操作

  • 相关阅读:
    遍历查询ldap服务器用户
    spring调用存储过程
    jms在jboss上的简单应用
    开发团队如何完成一个项目?
    数据库分区表的使用
    使用native 查询时,对特殊字符的处理。
    spring定时器分析
    sql server监控
    java 类和接口之间的转换
    C++ main 参数使用
  • 原文地址:https://www.cnblogs.com/suideyib/p/13191770.html
Copyright © 2011-2022 走看看