如何修改 flask 中的 csv 数据库,使数据不被覆盖?

How to modify csv database in flask so that data is not overwritten?

我只是做一个表格报错,当用户写错误到表格发送时,数据是写到csv文件的,但是当他写另一个的时候,上一个被删除并被当前的覆盖,以便数据存储在下面,他们不是重写了以前的吗?

还有一件事,表格是用烧瓶制作的。

烧瓶代码:

@app.route('/contact', methods=["GET","POST"])
def get_contact():
    form = ContactForm()
    if request.method == 'POST':
        name =  request.form["name"]
        email = request.form["email"]
        message = request.form["message"]
        res = pd.DataFrame({'name':name, 'email':email, 'message':message}, index=[0])
        res.to_csv('./contactDatabase.csv')
        return redirect(url_for("rgb"))
    else:
        return render_template('contact.html', form=form)

提交表单后,数据是这样存储的:

CSV Sample

每次提交表单并将其写入现有的 csv 时,您都会创建一个新的数据框。要附加它,请包含 mode='a'。默认为 'w'.

@app.route('/contact', methods=["GET","POST"])
def get_contact():
    form = ContactForm()
    if request.method == 'POST':
        name =  request.form["name"]
        email = request.form["email"]
        message = request.form["message"]
        res = pd.DataFrame({'name':name, 'email':email, 'message':message}, index=[])
        res.to_csv('./contactDatabase.csv', mode='a', header =False)
        return redirect(url_for("rgb"))
    else:
        return render_template('contact.html', form=form)