Используя диаграмму Морриса в Django
Я пытаюсь использовать диаграмму Морриса в Django. диаграмма Морриса требует данных в формате
$(Morris.Bar({
element: 'mchart',
data: [
{ y: '2006', a: 120 },
{ y: '2007', a: 75 },
{ y: '2008', a: 50 },
{ y: '2009', a: 75 },
{ y: '2010', a: 50 },
{ y: '2011', a: 95 },
{ y: '2012', a: 100 }
],
xkey: 'y',
ykeys: ['a' ],
labels: ['SMS count']
}));
У меня есть модель с именем log как класс Log(models.Model):
date= models.DateField()
count=models.CharField(max_length=100)
и я использовал представление класса для доступа к данным как
Просмотры
class newChartView(TemplateView):
template_name = "new_report_view.html"
def get_context_data(self, **kwargs):
context = super(newChartView, self).get_context_data(**kwargs)
context['count'] = Log.objects.all()
return context
Теперь, как организовать данные в соответствии с требованиями Морриса.
1 ответ
Решение
Ваш шаблон Django будет выглядеть так:
data: [
{% for item in count %}
{ y: '{{ item.date|date:"Y" }}', a: '{{ item.count }}' }{% if not forloop.last %},{% endif %}
{% endfor %}
],
Это часть JavaScript, который создает диаграмму Морриса. Вышесказанное производит строку с y
а также a
значения из ваших элементов (год отформатирован так, чтобы иметь четыре цифры, и счет берется непосредственно из элемента).