我正在使用ChartIt并在尝试在网址上查看图表时继续收到“模板不存在”。正在正确地遵循教程,但可能在某处犯了错误。我是Django的新手,所以任何帮助都会受到赞赏。加载图表的请求正在调用def。
在views.py文件中进行def。
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>
答案 0 :(得分:0)
我注意到在他们的安装说明中他们并没有说'在您的设置文件中将'chartit'添加到INSTALLED_APPS,但他们在他们的演示项目中做了。你做到了吗?
编辑: dan-klasson是对的。您需要指定要返回的模板。您的观点应该返回以下内容:
return render_to_response('testCommits.html', {'linechart': linechart})
字典是传递给模板的上下文。第一个参数是模板名称,在您的情况下是testCommits.html。
答案 1 :(得分:0)
您收到此错误是因为您的Django在模板加载期间不知道模板的位置。试试这个:
转到项目根目录中的 settings.py 并指定 TEMPLATE_DIRS 。已经为您定义了变量,因此只需列出path_to_your_dir即可。例如:
TEMPLATE_DIRS = (
"home/myname/path_to_templates"
)
更新您的视图,以便按其他用户的指定正确返回:
return render_to_response('testCommits.html', {'linechart': linechart})