Python Flask和sqlite3提交不起作用

时间:2015-07-25 17:02:20

标签: python database sqlite flask commit

这只是我的代码的一小部分,但我希望它足以解决我的问题。请允许我先解释一下。

所以我试图使用python和sqlite3将信息存储在数据库中。我可以将数据存储在数据库中,但数据库的文件大小永远不会增加,重新启动后数据库将被清除。我知道.commit之所以有用,是因为我过去曾经使用过它,但它现在还没有用。我的假设是我不在数据库的范围内而且我没有能力写作。我的代码再次运行并且没有提供任何错误,但它实际上不会写入数据库。

我的连接和初始代码:

@app.route('/user/', methods=['GET', 'POST'])
def users():
    conn = connect_db()
    cursor = conn.cursor()
    isAdmin = False
    if (request.form.get('adminuser') != None):
        isAdmin = True
    cursor.execute('insert into users (username, password, admin) values (?, ?, ?)',
                 [request.form['username'], request.form['password'], isAdmin])
    conn.commit()
    return redirect(url_for('index'))

因此,此代码连接到数据库并获取所有设置。

以下是我将代码添加到数据库的一小部分代码。它有效,它会将项目添加到"数据库"但数据库的文件大小不会增加,如果我重新启动它将看不到新项目。但只要应用程序打开,我就可以访问这些项目。

DATABASE = '/tmp/database.db'

编辑我离开了这个

DATABASE = '/tmp/database.db'

编辑一个疯狂的简单错误。

更改

DATABASE = './tmp/database.db' 

{{1}}

1 个答案:

答案 0 :(得分:0)

此行中有错误:

DATABASE = '/tmp/database.db'

请改用:

DATABASE = './tmp/database.db'