我想用Django建立一个股票网站,我找到了一个Javascript库( tickp )来制作图表,但我不懂Javascript,也不知道如何读取Django模板中的json数据。我用this code从雅虎财经检索股票数据。
我把这些.py和.js放在我的文件夹中,我的观点是这样的:
from stock.stockretriever import StockRetriever
def stockretriever(request,number):
data = StockRetriever().get_historical_info('YHOO')
return HttpResponse(simplejson.dumps(data),mimetype='application/json')
但是我不知道应该如何编写模板,有人可以告诉我吗?
谢谢。
最佳答案
您有两个选择:
- 渲染包含数据的模板
- 从服务器动态获取数据
如果您选择 1.,您可以在模板中添加如下内容:
<script type="text/javascript">
var my_data = {{ json_plot_data }};
</script>
该模板还包括根据数据生成绘图的 JavaScript 代码。 View 函数将包括数据获取并返回一个上下文对象,如下所示:
def my_stock_plot_view(request, number):
# get stock data
json_data = simplejson.dumps(data)
django.shortcuts.render(request, 'template.html', {'json_plot_data':json_data})
如果您选择 2,则需要使用 jQuery.ajax 之类的东西来通过 ajax 请求动态加载 json 数据。该请求将调用您的 View ,在 jQuery.ajax 调用中您指定该请求返回 JSON,这会自动使数据作为 Javascript 的对象可用。在 jQuery.ajax 成功处理程序中,您可以将数据传递给绘图函数。
关于javascript - 如何使用 Javascript 在 Django 中制作股票图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8297014/