Синтаксическая ошибка шаблона в Django - Chartit - PullRequest
0 голосов
/ 27 марта 2012

У меня проблемы с использованием 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 ]

2 голосов
/ 02 июня 2012
Контейнер

должен быть заключен в двойные кавычки, например:

{{studentdata|load_charts:"container"}}
0 голосов
/ 27 марта 2012

Я не уверен, что это вызывает ошибку, но попробуйте удалить пробел перед аргументом фильтра.

{{ studentdata|load_charts:container}}
...