我有一个flask应用程序,当用户单击索引页面上的按钮时,他们会触发要生成的报告,并使用send_file()函数将其下载到浏览器中。
每次创建并下载报告时,服务器都会停止运行,并且在终端中出现以下错误。每次都需要重新启动它,我不知道如何解决它。有任何想法吗? :)
flask_app.py文件:
from flask import Flask, render_template, request, url_for, flash
import create_report
from flask_debugtoolbar import DebugToolbarExtension
from flask import send_file
app = Flask(__name__)
filename = ""
@app.route("/")
def index():
return render_template("index.html")
@app.route("/handle_data", methods=['GET', 'POST'])
def handle_data():
text = request.form['accountinput']
preprocessed_text = text.lower()
filename = create_report.start_script(preprocessed_text)
path = "reports/" + filename
return send_file(path, as_attachment=True)
if __name__ == '__main__':
app.run(debug=True)
终端错误:
Assertion failed: (NSViewIsCurrentlyBuildingLayerTreeForDisplay() != currentlyBuildingLayerTree), function NSViewSetCurrentlyBuildingLayerTreeForDisplay, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1561.60.100/AppKit.subproj/NSView.m, line 14485.
答案 0 :(得分:1)
您应使用
启动程序import matplotlib
matplotlib.use('Agg')
由于create_report
模块使用matplotlib
,并且对于matplotlib
this is a common case使用。