Django - 为dygrapgs生成csv

时间:2012-09-06 21:27:34

标签: javascript python django dygraphs

对于我的项目,我正在尝试生成一个要在dygraph中读取的csv文件。 Dygraphs是一个用于绘制csv文件的Javascript库。 在Dygraphs的文档中,它说当你指定一个文件时,它会发送一个XHR来获取csv。所以,在我看来,我解释说我需要一个

if request.is_ajax():

但这究竟意味着什么?

我的问题是我的dygraphs不会显示在页面上。 我从Firebug得到的错误消息是:

"NetworkError: 404 Not Found - http://www.albedo.csrcdev.com/VAM/Appearance/VAMStyleSheet.css
"NetworkError: 404 Not Found - http://www.albedo.csrcdev.com/VAM/3_0_3/VAM.js/
ReferenceError: VAM_ValSumFmtBullet is not defined 
ReferenceError: VAM_GetById is not defined

我真的不知道那是什么告诉我的,但是当我有一个静态的csv文件时,图表确实显示出来,所以我很确定它只是没有抓住动态创建的csv文件。

感谢任何帮助。

由于


# The function does work, when I type the url manually, it prompts me 
# to download the csv and is all correct. 

def dygraphs_generate_csv( request, year=None ):
    if request is_ajax():
        if year is None:
            year = datetime.today().year

        entries = DataEntry.objects.all().filter(observation_Date__year=year)

        return render( request, 'pages/output.csv',
                {'entries': entries},
                content_type='text/csv'
            )

1 个答案:

答案 0 :(得分:1)

这些错误与您的CSV生成无关。如果您的JS / CSS没有404,那么您的页面可能会更准确地呈现。

如果CSV是挑战,您还可以将dygraphs传递给本机JavaScript数组。有关详细信息,请参阅http://dygraphs.com/data.html