canvasjsのpython関連のサンプルソースで、簡単にDBの抽出データをserializers.serialize('jason', xxx.object.all())で渡していたので、ズボラにそのまま踏襲していたのが間違いでした。
1)canvasjsのサンプルソースから、index.html(pythonに依存しない物)に直接データを埋め込んでpython manage.py runserver で実行してみると、まったく問題なく表示することが出来ました。
2) serializers.serialize('json',xxxx)でどのようなデータが作られるのか、python manage.py shellで手入力して確認してみました。(左図) うーん、これでは、無理ですよね。python manage.py shellはpython初心者にとっては、色々と試して見れるので極めて便利ですね。if !flag:はダメでif flag=False:なんですね。 (何でもCっぽく理解しているのが悪いんですけど、、、)
3) 1)の場合の受け渡されるデータの形を確認すると、dictionary型のリスト?となっていたので、そのような形式でデータが送られるように、views.pyを改造することにしました。 夫々の、抽出データを加工して、dictionary型のリストを作り、これを渡してみましたところ、無事表示させることが出来ました。
データの量が多いので、夫々のデータをcontextにdictionary型として入れ、htmlに送って動作することが確認できました。 (送出するデータの種類が増えても対応できるようにするため。)
ここまでは、無事に進んだのですが、対応するデータが存在しない時にエラーが発生するようなので、この対応を考えなくては、、、。
更にhtmlでpythonで使用している変数を表示する方法が??
0 件のコメント:
コメントを投稿