3
我已經花了一天的時間在這個問題上沒有成功,所以幫助,將不勝感激。django:服務動態(reportlab)PNG模板
我使用ReportLab的,併成功地用它呈現給瀏覽器生成圖形這個tutorial:
d = MyBarChartDrawing()
#extract the request params of interest.
#I suggest having a default for everything.
if 'height' in request:
d.height = int(request['height'])
if 'width' in request:
d.width = int(request['width'])
if 'numbers' in request:
strNumbers = request['numbers']
numbers = map(int, strNumbers.split(','))
d.chart.data = [numbers] #bar charts take a list-of-lists for data
if 'title' in request:
d.title.text = request['title']
#get a GIF (or PNG, JPG, or whatever)
binaryStuff = d.asString('png')
return HttpResponse(binaryStuff, 'image/png')
我的問題是,雖然我想在模板中渲染PNG文件,像這樣(不工作):
return render(request, "subscription/monitorSizes.html", {'form':form,'message':'','graph':binaryStuff})
我一直在黑客這個問題多年。這無疑是一個新手問題!爲了保存我的理智,請欣賞這方面的建議。非常感謝:)
編輯:我發現另一個stackoverflow Q在同一個問題上,但它並沒有真正解決。
你能不叫IMG生成視圖URL作爲一個img標籤中的src,所以你返回HttpResponse(binaryStuff,'image/png')?而不是然後試圖通過binaryStuff? – JamesO 2013-05-03 12:46:20
試過。在我的模板中:{%if graph!=''%} {%endif%} – andyw 2013-05-03 13:01:16
我的意思是其中get_image是你上面顯示的視圖,那你試過了嗎? – JamesO 2013-05-03 13:10:39