Мне нужно создать страницу, где одна часть страницы является результатом довольно длительного вычисления, а другая часть - график, который показывает некоторые промежуточные результаты расчета. Способ, которым я его реализовал, состоит в том, что у меня есть две точки зрения. Один вид вычисляет и сохраняет промежуточные результаты в переменной сеанса. Второй вид извлекает промежуточные результаты из переменной сеанса и отображает значения с помощью 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