如何修改 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)
我只是做一个表格报错,当用户写错误到表格发送时,数据是写到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)