1

我正在使用ChartIt并在尝试查看 URL 上的图表时不断收到“模板不存在”。本教程正在正确遵循,但可能在某处犯了错误。我是 Django 的新手,所以任何帮助将不胜感激。在调用 def 时,加载图表的请求正在工作。

在views.py 文件中定义。

def lineChart(request):
    commitData = \
        DataPool(
            series=
            [{'options': {
                'source': TestCommit.objects.all()[:200]}, 'terms': ['author', 'author_time']}])

    linechart = Chart(
        datasource=commitData,
        series_options=
        [{'options': {
            'type': 'line',
            'stacking': False},
          'terms': {
              'author_time': [
                  'author_time']
          }}],
        chart_options=
        {'title': {
            'text': 'YAYs'},
         'xAxis': {
             'title': {
                 'text': 'Month number'}}})


    return render_to_response({'testCommits.html': linechart})

testCommits.html

<head>
    <!-- code to include the highcharts and jQuery libraries goes here -->
    <!-- load_charts filter takes a comma-separated list of id's where -->
    <!-- the charts need to be rendered to                             -->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
    <script src="http://code.highcharts.com/highcharts.js" type="text/javascript"></script>
    <script src="/highcharts.js" type="text/javascript"></script>
    {% load chartit %}
    {{ linechart|load_charts:"container" }}
</head>
<body>
    <div id='container'> Chart will be rendered here </div>
</body>
4

2 回答 2

0

您收到此错误是因为您的 Django 在模板加载期间不知道模板的位置。尝试这个:

  1. 转到您的项目根目录中的settings.py并指定您的TEMPLATE_DIRS。该变量已为您定义,因此只需列出 path_to_your_dir。例如:

    TEMPLATE_DIRS = (
            "home/myname/path_to_templates"
    )
    
  2. 更新您的视图以按照其他用户的指定正确返回:

    return render_to_response('testCommits.html', {'linechart': linechart})
    
于 2014-07-22T20:26:53.797 回答
0

我注意到在他们的安装说明中,他们没有说将“chartit”添加到您的设置文件中的 INSTALLED_APPS 中,但他们在他们的演示项目中这样做了。你这样做了吗?

编辑:dan-klasson 是正确的。您需要指定要返回的模板。您的视图应返回以下内容:

return render_to_response('testCommits.html', {'linechart': linechart})

字典是传递给模板的上下文。第一个参数是模板名称,在您的例子中是 testCommits.html。

于 2013-08-13T03:02:09.963 回答