Django JSON出力
テンプレート内のJavaScriptへJSONデータを渡し、グラフを描画したい場合があったので
JsonResponse(Django 1.7以上)を利用してみました。
- view.py, urls.pyでJSONデータ出力先を作成する(例:http://mysite/hoge/feedjson/)
- テンプレート内のJavaScriptからJSON出力先へアクセスしてデータ取得
view.py # JsonResponseをインポート from django.http import JsonResponse def feedjson(reqeuset): if request.method == "GET": #jsonデータ作成 content = {"user": "packman", "score":1000} #JsonResponseへcontent渡す return JsonResponse(content) ----- urls.py # url設定 urlpatterns = patterns('hoge.views', url(r'^feedjson/$', 'feedjson'), ) ----- # http://mysite/hoge/feedjson/へアクセスすると # 下記テキストが表示されてJSON出力している。 {"user": "packman", "score":1000} ----- index.html #テンプレート内でjQueryのgetJSONを利用してデータをやりする。 $(document).ready(function () //jQuery getJSONのURLへjsonの出力先を指定 $.getJSON('/hoge/feedjson/', function(data){ //データを取得 var user = data.user; var score = data.score; }