【发布时间】:2021-12-22 10:31:10
【问题描述】:
~~这个问题是another question的延续。~~ 我正在创建一个基本的登录表单,我使用 Flask 来提供我的 HTML 页面,并使用 python 中的 Sqlite3 包来存储用户名和密码!
我首先创建了一个 App Route!
我从表单中请求用户输入,然后将其与我从名为 'Users.db' 的数据库中检索到的数据进行比较,如下所示:
@app.route('/login', methods=["GET", "POST"])
def login():
msg = ''
if request.method == 'POST' and 'username' in request.form and 'password' in request.form:
# Create variables for easy access
username = request.form['username']
password = request.form['password']
#Connection Est.
connection = sqlite3.connect("Users.db")
#cursor
USer_crsr = connection.cursor()
user_cm = """SELECT username FROM accounts where"""
user_cm_2 = """SELECT password FROM accounts"""
USer_crsr.execute(user_cm)
USer_crsr.execute(user_cm_2)
USer_result = USer_crsr.fetchall()
USer_result_2 = USer_crsr.fetchall()
if username in USer_result and if password in USer_result_2:
# Create session data, we can access this data in other routes
session['loggedin'] = True
session['id'] = USer_result['id']
session['username'] = USer_result['username']
# Redirect to home page
return 'Logged in successfully!'
else:
# Account doesnt exist or username/password incorrect
msg = 'Incorrect username/password!'
return render_template("login.html", msg=msg)
(我知道这段代码不正确!)
关于我可以做些什么来正确地从数据库中检索我的数据并将其与用户输入进行比较有什么建议吗?
【问题讨论】:
-
如果您使用flask-login 而不是重新发明轮子呢?本模块专为认证管理而设计
-
我之前尝试过使用flask-login,但它不适用于高级生产需求...
标签: python database sqlite flask flask-login