2023年9月7日木曜日

Django/PythonでのWEBアプリ開発を更に勉強ーその3

 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 件のコメント:

PCをWindows11にアップグレード(ハードもRyzen9 9900x+4070TiSに)

remBG(背景を消すPysonのユーティリティ)を弄っていたら、記事に書かれているのと比べてやたらスピードが遅いので、購入履歴を調べてみると、3~4年経ってしまっている。  ここは、奮起して、Ryzen9 9900x+Asus Prime X870-P WIFI-CSM +As...