我需要創建一個頁面,其中一部分頁面是相當長的計算的結果,另一部分是顯示計算的一些中間結果的圖形。我實施它的方式是我有兩種觀點。一個視圖執行計算並將臨時結果存儲在會話變量中。第二個視圖從會話變量中檢索臨時結果,並將matplotlib的值顯示爲圖像。Django視圖同步
問題是我找不到第一個視圖完成後執行第二個視圖的方法。如果第二個視圖首先執行,那麼我會看到圖中的舊數據。
下面是一些僞代碼:
views.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
urls.py:
(r'^report/$', 'calc',),
(r'^report/graph.png/$', 'graph',),
resultAndGraph.html:
Result: {{result}}
<img src="graph.png" width="400" height="400">
非常感謝您的建議。我會考慮它。你對calc()和graph()的調用有同步嗎?如果我理解正確,那麼不同類型的緩存不會幫助我解決同步問題。 –
我不完全確定你的意思是同步。如果您希望對第一個視圖執行一個視圖,則可以使用重定向,但載入後仍然會很慢 – cberner