2017-05-14 107 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請求數據並解析響應。