我需要创建一个页面,其中页面的一部分是相当长的计算结果,另一部分是显示计算的一些中间结果的图表。我实现它的方式是我有两个视图。一个视图进行计算并将中间结果存储在会话变量中。第二个视图从会话变量中检索中间结果,并使用 matplotlib 将值显示为图像。
问题是我找不到在第一个视图完成后执行第二个视图的方法。如果第二个视图首先执行,那么我会在图中看到旧数据。
这是一些伪代码:
视图.py:
def calc(request):
...
do calculations
store interim results in session variable
return render_to_response(...'result':value...)
def graph(request)
retrieve interim results from session variable
create and return HttpResponse(content_type='image/png') with graph
网址.py:
(r'^report/$', 'calc',),
(r'^report/graph.png/$', 'graph',),
resultAndGraph.html:
Result: {{result}}
<img src="graph.png" width="400" height="400">