Я работаю над небольшим приложением с фреймворком Django.В одном из моих шаблонов у меня есть цикл for, в котором я называю изображение сюжета matplotlib.Но Django смешивает все мои данные: некоторые графики заряжаются хорошо, другие полностью терпят крах, а некоторые смешивают данные двух графиков.Когда я беру только один график, он работает нормально, но проблема возникает случайно, когда у меня есть два или более графиков на одной странице.
Я понимаю, что проблема связана с одновременным созданием всех графиков.Matplotlib не предназначен для многопоточности Django.Итак, я ищу способ создания графиков в правильном порядке.
Создание графика в views.py
def GraphsTS(request, h):
h = list(map(float, TS.split("-"))) # h is passed as text and transform to a list
f = plt.figure(figsize=(5,2))
plt.title('Title')
plt.xlabel('Date')
plt.ylabel('YLABEL')
plt.xticks(rotation='vertical')
bar1 = plt.plot(h, color='Green',alpha=0.65)
canvas = FigureCanvasAgg(f)
response = HttpResponse(content_type='image/jpg')
canvas.print_jpg(response)
matplotlib.pyplot.close(f)
return response
Цикл for в кластере
{% for key, h in dict.items %}
<img src="{% url 'GraphsTS' h=h %}">
{% endif %}
Я ожидаю, что графики будут создаваться один за другим.Не имеет значения, замедляет ли это мое приложение.