「礼」の~IT人財を目指して~
作成日:2025年04月13日
更新日:———————
はじめに
Webの仕組み
Webとは
- HTTPという通信の約束に従って
- URLで指定する場所(サーバー)との間で
- ハイパーテキスト(情報)をやり取りするための仕組み。
「URLで指定したサーバーと情報のやり取りを行う技術」です。
Webアプリとは
フレームワークとは
ソフトウェアを開発するうえでの典型的・定型的な処理やデータ構造などをまとめた、枠組みやテンプレートとなるもの。
システム開発を効率化できるように、よく使う基本的な機能をまとめて提供してくれます。
これを使用せず、自分でプログラミングを全て行う場合、開発に時間がかかってしまいます。
そのため最近では、フレームワークを使って開発を行うのがスタンダードとなっています。
Pythonで使えるフレームワーク
Pythonで利用できるフレームワークには、3つのタイプがあります。
- フルスタックフレームワーク(Full-Stack Framework)
- Web開発に必要なものがまとまっている
- マイクロフレームワーク(Microframework)
- 必要最低限の機能がまとめられている
- 非同期フレームワーク(Asynchronous Framework)
- 同時に複数接続処理が可能なフレームワーク
Flask(フラスク)とは
PythonでWebアプリケーションを作成するためのフレームワークです。
前述のマイクロフレームワークに分類され、フルスタックフレームワークから面倒な部分を省いて軽量化させたようなフレームワークです。
「Werkzeug WSGIツールキット」と「Jinja2テンプレートエンジン」を基に作られています。(Werkzeug=ヴェルクツォイク:ドイツ語でツールという意味)
URLのルーティング、ページのレンダリングを提供
ルーティングとは
適切なネットワークへデータを 転送する処理を、ルーティング(経路制御)と言います。
Webアプリケーションにおいて、ルーティングは、URLとアプリケーションの処理をマッピングするための仕組みです。
ルーティングを行うことで、Webアプリケーションは、HTTPリクエストを受け取り、処理を実行し、HTTPレスポンスを返すことができます。
ルーティングを行うには、Webアプリケーションフレームワークを使用することが一般的です。
フレームワークによって提供されるルーティング機能を使用することで、簡単にURLと処理のマッピングを設定することができます。
flaskアプリの基本構造
PythonのFlaskフレームワークを使用した基本的なルーティングの例を示します。
■コード■
#①モジュールのインポート from flask import Flask #②Webアプリ作成 app = Flask(__name__) #③エンドポイント設定(ルーティング) @app.route('/') def hello(): return 'Hello World!' #④Webアプリ起動~~~~ if __name__ == '__main__': app.run(debug=True)
■解説等■
- ①アプリ作成に必要な機能の詰まったコードファイルを使えるようにします。
- ②必要な機能が詰まった「アプリの核」を用意します。
- ③ブラウザからアクセスするURLと、それに対応した処理をここに書きます。
- ④ファイルが実行された時にアプリが立ち上がる(ブラウザで表示できる)ようにします。
上記の例では、/というURLにアクセスした場合に、hello_world()という関数が呼び出され、Hello, World!というテキストを返します。@app.route()デコレータを使用して、URLパスと関数をマッピングしています。
@app.route()とは
app.routeは、Flaskアプリケーションにルート(URLのパス)を定義するためのデコレータです。
デコレーターは、Pythonの関数やメソッドの前後に追加の機能を付加するための機能です。
app.routeの基本的な使い方
■コード■
@app.route([URLのパス]) def [関数名](): #URLにアクセスした際に実行する処理
■解説等■
値を渡して動的にテンプレートの表示を変更する
■コード■
@app.route('/index') name = 'Taro' age = 12 return render_template('index.html', name=name, age = age) # nameとageを変数としてテンプレートに渡す if __name__ == '__main__': app.run()
■解説等■
■コード■
<!-- {{ }} で渡した変数を囲うとその変数の中身を表示することができる。 --> <h2>My name is {{ name }} age is {{ age }}</h2>
■解説等■
Web APIとは
Web Application Programming Interfaceの略で、Webブラウザ上で利用できるAPIです。
異なるアプリケーション間でデータやプログラムの機能を連携させる仕組みで、HTTP/HTTPSプロトコルを用いて通信します。
APIは、
アプリケーション(Application)を
プログラミング(Programming)を使って
繋ぐ(Interface)
といった意味で、ソフトウェアやアプリケーション同士で機能を共有するための仕組みのことです。
『自分が作ったWebサービスに、他の人が作った便利な機能を借りてくる』というイメージです。
まとめ
ひな形
■コード■■解説等■
コメント