Django - Chartit模板语法错误

时间:2012-03-26 20:04:34

标签: django django-templates django-views

我在使用Django-Chartit时遇到问题。我想使用数据库中的数据(点数和奖励)制作图表。我一直得到一个模板语法错误。不能解析余数:':container'来自'studentdata | load_charts:container'

非常感谢帮助。谢谢你的期待。

Models.py

from django.shortcuts import render_to_response
from students.models import Students
from django.utils import simplejson
import json


 class Students(models.Model):

 CLASS_CHOICES = (
    (u'Yoga','Yoga'),
    (u'Spanish', 'Spanish'),
    (u'French', 'French'),
    (u'Dance', 'Dance'),
  )

  name = models.CharField(max_length=30)
  points = models.IntegerField(max_length=4)
  classname = models.CharField("Class Name",max_length=20, choices = CLASS_CHOICES)
  number = models.CharField("Phone Number", max_length = 20)
  awards = models.IntegerField(max_length=4)

views.py

def display_graph(request):
  classroomdata = \
     DataPool(
        series =
         [{'options' : {
              'source': Students.objects.all()},
              'terms': [
              'awards',
               'points']}
            ])
  cht = Chart(
    datasource = classroomdata,
    series_options = [{'options': {
                        'type': 'line',
                        'stacking': False},
                        'terms': {
                           'awards': ['points']
                         }}],
    chart_options = 
       {'title': {
               'text': 'Data'},
         'xAxis': {
            'title': {
               'text': 'Student'}}})


  return render_to_response('display_graph.html',{'studentdata': cht})

display_graph.html

 !DOCTYPE HTML>
 <html lang="en-US">
 <head>

  <script type = "text/javascript" src = "{{ STATIC_URL }}Highcharts-  2.2.1/js/highcharts.js"></script>
  <script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js">   </script>
  <script type = "text/javascript" src = "{{ STATIC_URL }}jquery-1.7.1.min.js"></script>


{% load chartit %} 
{{ studentdata|load_charts: container}}

</head>

<body>

<div id = "container">
</div>
</body>

2 个答案:

答案 0 :(得分:2)

容器必须用双引号括起来,如下所示:

{{studentdata|load_charts:"container"}}

答案 1 :(得分:0)

我不确定这是否会导致错误,但请尝试在过滤器参数之前删除空格。

{{ studentdata|load_charts:container}}