2017-05-14 61 views
1

现在,我正在使用Django创建一个网站。为了在HTML中使用JSON,我将它作为响应JSON的模板。但是当我在HTML中使用JSON数据时,数据没有出现。使用JSON的Django模板

这里是我的代码:

views.py

def json_data(request): 
    data = words.objects.all() 
    return JsonResponse(list(data), safe=False) 

models.py

class words(models.Model): 
    word = models.CharField(max_length=20) 
    value = models.FloatField(default=0) 
    def __str__(self): 
     return self.word 

url.py

url(r'^api/json_data', views.json_data, name='json_data') 

模板/ result.html

<script> 
    var J = {% url 'json_data' %}; 
    var JP = JSON.parse(J); 
    document.write("JSON TEST"); 
    for(var obj in JP){ 
     document.write(obj, " : ", JP[obj], "<br>"); 
    } 
</script> 

结果不显示任何东西,甚至是 “JSON TEST”。我不明白为什么会发生这种情况。我做错了哪部分?

回答

3

你实际上没有从Django获取数据;你所做的只是创建一个包含URL的字符串,并试图将其解析为JSON。

相反,您需要使用Ajax从该URL请求数据并解析响应。