0
我正在使用Flask-MySQL連接到視圖中的數據庫。該視圖的工作我第一次去了,但是當我去給它的第二次它總是與錯誤崩潰:Flask-MySQL在第二次運行視圖時給出「關閉連接」錯誤
ProgrammingError: closing a closed connection
爲什麼會出現這個錯誤?第二次如何成功連接?
from flask import Flask, render_template, request
from flaskext.mysql import MySQL
app = Flask(__name__)
@app.route('/hello/', methods=['POST'])
def hello():
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'xxx'
app.config['MYSQL_DATABASE_DB'] = 'pies'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
query = request.form['yourname']
mysql = MySQL(app)
conn = mysql.connect()
with conn as cursor:
try:
cursor.execute(query)
name = str(cursor.fetchone())
except:
name = "SQL is wrong"
conn.close()
return render_template('form_action.html', name=name)
if __name__ == '__main__':
app.run(debug=True)
'conn作爲遊標的目的是什麼:'?這似乎是使用上下文管理器的一種奇怪的方式。 –
這是我試圖擺脫這個問題,但顯然它沒有奏效。在添加「with conn as cursor:」之前,問題出現在那裏:「 – jvk777
是否存在可以在任何地方提供完整的錯誤回溯,以指示哪一行代碼導致錯誤?也許在Web服務器錯誤日誌中? –