Python Django中生成图形的断管错误

Python Django中生成图形的断管错误,python,django,matplotlib,Python,Django,Matplotlib,我正在使用测试服务器测试本地运行的Django应用程序 我的一个视图将字典返回到其模板main.html: d = {'f1':'/f1.png','f2':'/f2.png'} return render_to_response('myapp/main.html', d, context) d中的每个url(例如,'/f1.png')将生成并返回一个图形: canvas=FigureCanvas(fig) response=HttpResponse(content_type='image/p

我正在使用测试服务器测试本地运行的Django应用程序

我的一个视图将字典返回到其模板
main.html

d = {'f1':'/f1.png','f2':'/f2.png'}
return render_to_response('myapp/main.html', d, context)
d
中的每个url(例如,
'/f1.png'
)将生成并返回一个图形:

canvas=FigureCanvas(fig)
response=HttpResponse(content_type='image/png')
canvas.print_png(response,dpi=400)
return response
生成图形的两个视图中都没有错误

但是,第二个图形有时无法在主页上呈现(
main.html

发生这种情况时,我从测试服务器收到以下错误:

"GET /url_for_my_app/f2.png HTTP/1.1" 500 59
error: [Errno 32] Broken pipe
我意识到这可能是由于浏览器请求时间(例如)

(1) 在这种情况下,什么可能导致错误

(2) 如何最好地解决这个问题

编辑:我确定了明显的原因(但只是凭经验——我不知道它为什么会导致错误)。在返回
fig
对象(在笔记本中运行的剩余)之前,生成第二个图形的视图包括
plt.tight_layout()
。删除
plt.tight\u layout()
后,错误消失

plt.tight_layout()
canvas=FigureCanvas(fig)
response=HttpResponse(content_type='image/png')
canvas.print_png(response,dpi=400)
return response