Python×医療事務(×トロント)

#医療 / #医療事務 / #IT / #トロント / #歯科助手 / #のんびり / #備忘録 / #趣味

paiza Flask入門 無料分のみ

テンプレートエンジン

アプリケーションが保持するデータやプログラムが処理した結果とHTMLのひな型を組み合わせWebページを生成する機能のこと

f:id:chocolate22554:20201004190050p:plain

f:id:chocolate22554:20201004190225p:plain

f:id:chocolate22554:20201004190318p:plain

HTMLに繰り返しの要素がある場合 コードを埋め込める

f:id:chocolate22554:20201004190426p:plain

jinja2はFlaskにテンプレートエンジンとして組み込まれている

 

 

hello.py ファイルf:id:chocolate22554:20201004192724p:plain

 

index.htmlファイル 

f:id:chocolate22554:20201004192603p:plain

{%  を使うことで HTMLタグの中に pythonを組み込める

インデントを無視するので{%end   が必要

 

URLを最後/にすると ifの Hello Flask(name_value) がブラウザで表示される

URL最後を aboutにすると elseの Hello paizaが表示される

 

 

 

ループのリストをテンプレートで表示

f:id:chocolate22554:20201004193705p:plain

f:id:chocolate22554:20201004193749p:plain

Flaskのテンプレートエンジンを使うとテンプレートの共通部分をまとめることができる

これを使うとテンプレートファイルが増えてもメンテナンスが簡単になる

ターミナルで コントロール+Cで サーバー停止

 

 

index.htmlを複製して作ったlayout.htmlのbody部分を変更し共通テンプレートが出来た

f:id:chocolate22554:20201004210805p:plain

{%block content %}  に個別テンプレートの内容をはめこむことができる

index.html↓

f:id:chocolate22554:20201004210429p:plain

↓変更する

f:id:chocolate22554:20201004210348p:plain

extends  共通テンプレートとしてlayout.htmlを呼び出している

layout.htmlのblock contentのところにblockからend blockの部分を埋め込んでくれる

 

SQLALchemy=PYTHONでデータベースを操作する

 

f:id:chocolate22554:20201011083027p:plain

 

f:id:chocolate22554:20201011083425p:plain

データベースの接続状況を定義する部分

f:id:chocolate22554:20201011085329p:plain

players変数に実行結果のデータを代入

             

f:id:chocolate22554:20201011101001p:plain

view.htmlでテンプレートを表示

view.htmlへ移動    

f:id:chocolate22554:20201011101653p:plain


 

players変数の内容をループで取り出しtableタグで表示している

ターミナル

ブラウザ localhost   ポート5000にアクセス

f:id:chocolate22554:20201011101829p:plain

flask SQLALchemyを使うようにコードを書き直す

下記の画像コードを

f:id:chocolate22554:20201011102259p:plain

↓  import pymysqlを消し下記に変える

f:id:chocolate22554:20201011102352p:plain

↓ def ~ )まで消す

アドレスを指定し文字コードを指定

f:id:chocolate22554:20201011102851p:plain

f:id:chocolate22554:20201011104710p:plain

↓playersクラスを指定する

 

f:id:chocolate22554:20201011104854p:plainplayerクラスを初期化

f:id:chocolate22554:20201011104947p:plain

playersテーブルが持っている各カラムを変数に割り当てている

f:id:chocolate22554:20201011105107p:plain

↓ / 部分を修正していく

f:id:chocolate22554:20201011105220p:plain

↓get connectionを削除

分かりやすいようにメッセージ変数を修正

f:id:chocolate22554:20201011105406p:plain

↓ 

一旦database

f:id:chocolate22554:20201011105558p:plainのコードを削除

こちらを入力f:id:chocolate22554:20201011105653p:plain

SQLALchemyでデータを操作する準備ができた

phpmyadminでデータベース SQLデータを編集できる

 

 

f:id:chocolate22554:20201011110400p:plain

FLASK Mark Downというものがある

f:id:chocolate22554:20201011110546p:plain

/create  , /updateではPostメソッドを使う(

Postメソッドはフォームの内容をmessageボディに付け加えて送るが GetメソッドはURLに直接記載。そのためPostメソッドは投稿内容を他人が覗きにくくできる

f:id:chocolate22554:20201011111252p:plain

f:id:chocolate22554:20201011111208p:plain

 

 

感想

無料分だけでしたが知識として知らないことがほとんどだったので勉強になりました

全体的に前回の復習内容があったりと 以前行った 期間限定?のAIの内容量と比べると易しめだなと感じました

AIは中・上級者向けだったのもあるかもしれません