テンプレートエンジン
アプリケーションが保持するデータやプログラムが処理した結果とHTMLのひな型を組み合わせWebページを生成する機能のこと
HTMLに繰り返しの要素がある場合 コードを埋め込める
jinja2はFlaskにテンプレートエンジンとして組み込まれている
hello.py ファイル
index.htmlファイル
{% を使うことで HTMLタグの中に pythonを組み込める
インデントを無視するので{%end が必要
URLを最後/にすると ifの Hello Flask(name_value) がブラウザで表示される
URL最後を aboutにすると elseの Hello paizaが表示される
ループのリストをテンプレートで表示
Flaskのテンプレートエンジンを使うとテンプレートの共通部分をまとめることができる
これを使うとテンプレートファイルが増えてもメンテナンスが簡単になる
ターミナルで コントロール+Cで サーバー停止
index.htmlを複製して作ったlayout.htmlのbody部分を変更し共通テンプレートが出来た
{%block content %} に個別テンプレートの内容をはめこむことができる
index.html↓
↓変更する
extends 共通テンプレートとしてlayout.htmlを呼び出している
layout.htmlのblock contentのところにblockからend blockの部分を埋め込んでくれる
SQLALchemy=PYTHONでデータベースを操作する
データベースの接続状況を定義する部分
players変数に実行結果のデータを代入
view.htmlでテンプレートを表示
view.htmlへ移動
players変数の内容をループで取り出しtableタグで表示している
↓
ターミナル
↓
ブラウザ localhost ポート5000にアクセス
flask SQLALchemyを使うようにコードを書き直す
下記の画像コードを
↓ import pymysqlを消し下記に変える
↓ def ~ )まで消す
アドレスを指定し文字コードを指定
↓playersクラスを指定する
playerクラスを初期化
playersテーブルが持っている各カラムを変数に割り当てている
↓ / 部分を修正していく
↓get connectionを削除
分かりやすいようにメッセージ変数を修正
↓
一旦database
のコードを削除
こちらを入力
SQLALchemyでデータを操作する準備ができた
phpmyadminでデータベース SQLデータを編集できる
FLASK Mark Downというものがある
/create , /updateではPostメソッドを使う(
Postメソッドはフォームの内容をmessageボディに付け加えて送るが GetメソッドはURLに直接記載。そのためPostメソッドは投稿内容を他人が覗きにくくできる
感想
無料分だけでしたが知識として知らないことがほとんどだったので勉強になりました
全体的に前回の復習内容があったりと 以前行った 期間限定?のAIの内容量と比べると易しめだなと感じました
AIは中・上級者向けだったのもあるかもしれません