『Flask入門編1:PythonでWebアプリケーションを作ろう (全9回)』
前後していろんな講座をやってきたけど、
ここからはPython系の講座を終わらせてしまおう。
その後は、PHPの講座をやっていこう。
Python系の講座は残り2つ。
以前、ちょっとだけDjangoに触れたことあるから、
まずは、『Webアプリ開発入門 Django編 (全5レッスン)』からだな、
ってちょっと講座を見てみたら、対象者がFlaskを済ませた人ってなっているようなので、
『Webアプリ開発入門 Flask編 (全5レッスン)』をやっていくことにする。
Flaskの方がDjangoよりも軽量なフレームワークとなっていて、
学習もしやすいのかな?
あと、これってJupyter Notebook使ってやっていけるのかな?
→ たぶん、Jupyterとかよりも、Spyderとかで書いた方がよさそうだな。
→ たぶん、Jupyterとかよりも、Spyderとかで書いた方がよさそうだな。
その辺も含めて、学習していこう。
自分の環境の場合、import flaskが問題なく通ったから、
環境構築に関しては、特に何もしなかった。
なんかのタイミングでインストールしていたのか、
はたまたデフォルトでインストールされていたのかは不明だが。
もしFlaskをインストールする必要があるなら、
pip install Flask
でいいみたい。
メモ
#01:Webアプリの初歩を理解しよう
- 対象者:Python・HTML・シェルコマンドの初歩を学習した人。
ってなっているから、大丈夫だと思う。 - Webアプリケーションの基礎技術
- ルーティング:Webブラウザからのリクエストに合わせて、呼び出す処理を切り替える
- テンプレートエンジン:アプリケーションが保持するデータなどをHTMLのひな型と組み合わせてWebページを生成する- フォーム処理
- GETメソッドとPOSTメソッド
- データベース
- Flaskの特徴
- 軽量Webアプリケーションフレームワーク。標準で提供する機能を最小限に絞る
- Python用Webアクセスライブラリに、Werkzeug WSGIツールキットを採用
- テンプレートエンジンとしてJinja2を採用
- Flask extensionsによる機能拡張 - 参考になるWebページ(2021/02/07現在)
- Flask
http://flask.pocoo.org/ - Flaskへ ようこそ — Flask documentation
https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/ - Flaskの簡単な使い方 - Qiita
https://qiita.com/zaburo/items/5091041a5afb2a7dffc8 - ウェブアプリケーションフレームワーク Flask を使ってみる - Qiita
https://qiita.com/ynakayama/items/2cc0b1d3cf1a2da612e4
- Flask
#02:FlaskでHello World
- Flaskのサーバーを起動する$ FLASK_APP=hello.py FLASK_ENV=development flask run$ FLASK_APP=hello.py flask run
- FLASK_ENV=developmentとするとブラウザを再起動しなくても、コードの変更を反映できる。
- サーバーには次のアドレスでアクセスする
http://localhost:5000/
#03:ルーティングを理解しよう
- ルーティング:Webブラウザのリクエストに合わせて、呼び出すページやコードを切り替える。
#04:テンプレートで表示しよう
- テンプレートエンジン:データとHTMLを組み合わせWebページを生成する
- Flaskの場合、Jinja2というテンプレートエンジンが組み込まれている
- from flask import Flask, render_template
def hello_world():
return render_template("index.html")
#05:テンプレートの書き方を理解しよう
- テンプレートにデータを渡す
name = "Flask"
return render_template("index.html", name_value = name) - テンプレートでデータを受け取る
<h1>Hello {{ name_value }}</h1>- テンプレートでは、{%...%}で囲むことで、Pythonのコードを記述できる。
この時、インデントは無視されるので、if文に{% endif %}が必要になる。
- テンプレートでは、{%...%}で囲むことで、Pythonのコードを記述できる。
#06:RPGの戦闘シーンを表現しよう
- テンプレートでリストを渡す
players = ["勇者", "戦士", "魔法使い"]
return render_template("index.html", name_value = name, players = players)
#07:テンプレートの共通部分を分割しよう
- 共通テンプレートを定義する
myapp/templates/layout.html- <body>
<p>共通テンプレート</p>
{% block content %}
{% endblock %}
</body>
- <body>
- 個別テンプレートから共通テンプレートを呼び出す
myapp/templates/index.html- {% extends "layout.html" %}
{% block content %}
(個別の内容)
{% endblock %}
- {% extends "layout.html" %}
認定証
う〜〜ん😖 結構大変!
Pythonのスクリプトをいじったり、
HTMLファイルをいじったりで、
行ったり来たりするからこんがらがってしまうな😵
とくにうまく動作しないとき、どこのファイルだかの検討が付きづらい。
あと、演習課題でジャッジ時間が長すぎて(数十秒くらい)、
途中で落ちちゃうケースも何回かあったのも辛かった😭
そんなこんなでなんとか認定証を取得
学習ステータス
村人から剣術自慢の村人に進化!
剣術自慢なだけで、強いかどうかは知らない😒
※コメント投稿者のブログIDはブログ作成者のみに通知されます