【问题标题】:How to retrieve from a Sqlite3 Database and compare it with User Inputs?如何从 Sqlite3 数据库中检索并将其与用户输入进行比较?
【发布时间】: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


【解决方案1】:

所以,经过数周的研究和阅读文章,我终于得到了包含我的问题和我的问题的答案的文章。所以,我只想在这里发布文章链接! (这是一篇文章系列,因此建议您关注整个系列 了解更多信息,尽管单独阅读文章也对我有用!)

另外,请务必完整阅读文章以了解所有组件!

这是链接-https://medium.com/analytics-vidhya/flask-development-part-4-database-configuration-648b11f708a5

Article Series ||| Github Repository

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多