【发布时间】:2021-05-17 21:52:08
【问题描述】:
if (username==aname or username==aemail) and userpass==apass:
session['user'] = username
这里的 aname 和 apass 是来自数据库的用户名和密码
【问题讨论】:
if (username==aname or username==aemail) and userpass==apass:
session['user'] = username
这里的 aname 和 apass 是来自数据库的用户名和密码
【问题讨论】:
我建议创建一个上下文管理器来处理数据库会话:
@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 块所示)
此外,所有数据库连接异常都可以在那里处理。 注意:代码语法可能不正确,但您大致了解
【讨论】: