【问题标题】:How to create session using flask where username comes from mysql database如何使用用户名来自mysql数据库的flask创建会话
【发布时间】:2021-05-17 21:52:08
【问题描述】:
if (username==aname or username==aemail) and userpass==apass:
            session['user'] = username

这里的 aname 和 apass 是来自数据库的用户名和密码

【问题讨论】:

    标签: python mysql flask


    【解决方案1】:

    我建议创建一个上下文管理器来处理数据库会话:

    @contextmanager
    def get_db_session(aname: str, apass: str):
        connection = None
    
        try:
            connection = mysql.connector.connect(host='localhost',
                                                database='your_database',
                                                user=aname,
                                                password=apass)
            if connection.is_connected():
                yield connection
        except Exception as e:
            # Catch more appropriate exception
            pass    
        finally:
            if connection.is_connected():
                # Remember to close database
                cursor.close()
                connection.close()
    

    创建数据库会话:

    with get_db_session() as session:
        # Perform tasks with your database 
    

    一旦代码退出上下文,连接就会关闭(如 get_db_session() 中的 finally 块所示)

    此外,所有数据库连接异常都可以在那里处理。 注意:代码语法可能不正确,但您大致了解

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2016-07-10
      • 1970-01-01
      • 2021-02-20
      相关资源
      最近更新 更多