Beginner.py

Pythonやその他のメモ

Django JSON出力

テンプレート内のJavaScriptJSONデータを渡し、グラフを描画したい場合があったので
JsonResponse(Django 1.7以上)を利用してみました。

参考:Djangoリファレンス

  1. view.py, urls.pyでJSONデータ出力先を作成する(例:http://mysite/hoge/feedjson/)
  2. テンプレート内の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;

}