2017-05-14 9 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からデータを要求し、レスポンスを解析する必要があります。

関連する問題