# Python 3.13以降におけるCGI

PythonのWebアプリの実装でCGIと出てきたときのために。

## Python 3.13で何が変わった？

FlaskというWebアプリがだいぶ普及したことでCGIの役目は終わったと判断したらしい。

`cgi` と`cgitb` がなくなり、それに伴い`legacy_cgi` というパッケージが登場した。

これはCGI機能を使わないといけない場面で活躍するパッケージである。

SaaSでデプロイする時代だからこそ、CGIは無用の長物になりつつあるが、どうしても使わないといけない場面があるときに覚えておくと良い。

## `pip install legacy_cgi`で互換性を確保

とりあえずWebアプリ開発の序盤はこれでカバーしよう。

`cgi`モジュール`cgitb`モジュールを使えるのはこれだけなので。

## Flaskの導入を検討

PythonのWebアプリフレームワークの中ではシンプルな部類である。

とりあえずまずは、CGIで出来ているアプリをFlaskへ移行しよう。

### Flaskって何？

Pythonの中でもとても軽いWebフレームワークで機能もPythonスクリプトを実行するだけ！Pythonのアプリの中でもCGIによるWeb開発からFlaskによるWeb開発にしてくれる便利なツールです！

もともとエイプリルフール企画でjinjaとwerkzurgの制作元が短期間で作り上げたjinjaとwerkzurgのシステムを転用してつくったシングルファイルで動くものでした。
