簡単なWebサービスをPythonのみで作ってみた1
1)背景 最近pythonを勉強している中で、pythonのみで簡単なウェブアプリが作れるということで、勉強がてら作成してみました。使用した技術は です。それぞれ少し説明します。 1-1)Streamlit Streamlitはpythonのフレームワークで、html/css/javascriptを一切触ることなく画面をつくることができます。もちろん細かい見せ方の設定はできないものの、pythonを知っていればよいので、データサイエンス領域で広く使われています。インストールの仕方含めStreamlitの詳細は以下を参照してみてください。 https://docs.streamlit.io/ (公式ページ)https://camp.trainocate.co.jp/magazine/streamlit-web/ 1-2)FastAPI FastAPIはpythonのフレームワークであり、バックエンドで使われます。DjangoやFlaskに代表されるpythonのウェブフレームワークの中でもかなり高速な部類に入り、急速に広く使われて初めています。FastApiについては、以下の記事が詳しいので、参考にしてみてください。 https://fastapi.tiangolo.com/ja/ (公式ページ)https://kinsta.com/jp/blog/fastapi/ 1-3)MongoDB MongoDBですが、NoSQL型のドキュメント指向型データベースで、ビッグデータの処理などによく使われます。データはJSON形式で保存されているので、データの拡張などに強いです。MongoDBについては以下が参考になります。 https://www.kagoya.jp/howto/it-glossary/develop/mongodb/ python上でMongoDBをあつかうにはpymongoというライブラリをインストールする必要があります。こちらについても詳しい記事がすでにありますので、詳細は例えば以下をご確認ください。 https://pymongo.readthedocs.io/en/stable/ (公式)https://python-work.com/pymongo/ 2)今回作成したアプリ 今回作成したアプリは、 というとてもシンプルなWebアプリです。認証機能も実装していません。 構成についてもかなりシンプルで、以下の通りです。 完成した画面は以下の通りです。 これらのキャプチャー以外も「update」や「deleteAll」のページもありますが、まぁ同じような画面なので、割愛します。 こうした画面をhtml/css/javascriptを一切使わずに作れるのはすごいですね。 3)実装コード Streamlit側 さて、ここからStreamlitで実装したコードについて、触れていきます。 なお、Streamlitのインストールなどについては、例えば 1)背景で紹介したページなどを参照してください。「Streamlit インストール」などでググればたくさん出てきますので、ここでは割愛します。 Streamlitを以下のコマンドで立ち上げます。