对于我的项目,我正在尝试生成一个要在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'
)
答案 0 :(得分:1)
这些错误与您的CSV生成无关。如果您的JS / CSS没有404,那么您的页面可能会更准确地呈现。
如果CSV是挑战,您还可以将dygraphs传递给本机JavaScript数组。有关详细信息,请参阅http://dygraphs.com/data.html。