Python 获取错误类型错误:execute()不接受关键字参数

Python 获取错误类型错误:execute()不接受关键字参数,python,sql,sqlite,flask,Python,Sql,Sqlite,Flask,我正在尝试用python和sqlite3构建一个注册/登录系统。我的代码似乎有问题 if request.form.get("password") != request.form.get("confirm"): return apology(" Passwords doesn't match") # try: prim_key = c.execute("I

我正在尝试用python和sqlite3构建一个注册/登录系统。我的代码似乎有问题

        if request.form.get("password") != request.form.get("confirm"):
            return apology(" Passwords doesn't match")

#       try:

        prim_key = c.execute("INSERT INTO accounts (username, hash) VALUES (:username, :hash)",
                                 username = request.form.get("username"),
                                 hash = generate_password_hash(request.form.get("password")))
        conn.commit()

#       except:
#           return apology("Sorry! username already exists!", 403)
#       if prim_key is None:
#           return apology("Failed to register! something went wrong!", 403)
#       user_if = prim_key
        return redirect("/")
    else:
        return render_template("register.html")

我对一些行进行了注释,以确定是否出了问题。在引用之前,我一直收到错误“对不起!用户名已经存在!”

现在,在我运行应用程序时引用了这些行之后,我得到

寄存器中第76行的文件“application.py” prim_key=c.execute(“插入帐户(用户名,哈希)值(:用户名,:哈希)”, TypeError:execute()不接受关键字参数

我想知道我是否遗漏了一些东西,这些是我导入的模块

import sqlite3
from flask import Flask, flash, jsonify, redirect, render_template, request, session
from werkzeug.security import check_password_hash, generate_password_hash
import secrets
如果我不能在这里使用关键字参数,有没有办法解决这个问题?或者我是不是做错了整个事情?我是Python新手,所以我不知道这是否只是一个愚蠢的问题。我几乎阅读了所有像这样的问题,但我想不出任何方法来完成这个问题。因此,非常感谢您的帮助。
谢谢您的时间!

错误说明,
execute
不接受任何关键字参数。您只需传递一个dict值即可:

prim_key=c.execute(“插入帐户(用户名、哈希)值(:用户名、哈希)”,
{'username':request.form.get(“username”),
“哈希”:生成\u密码\u哈希(request.form.get(“密码”))
})