オンラインプログラミング入門コースを初めて4週目

タイトル

Flaskを使用したサーバー構築+API作成

目的

  • Flaskを使用したサーバー作成

  • Flaskを使用したHTMLファイルの呼び出し

  • Flaskを使用したAPIの作成(GET、POST)

  • 簡単なサービス制作

概要

キーワード:
Python、pip、venv、Flask、Requests、bs4(BeautifulSoup)、render_template、jsonify、pymongo、dnspython、mongoDB、@app.route

学び

  • DBのアップデートやデリートはできるだけ1つずつ行っていく(たくさん変更するとトラブルになりやすい)

  • 都度変数に入れていくとスッキリする

  • venvをインストールする前に、ターミナルはzshではなくbashにしておく

  • 都度プロジェクトファイルにvenv環境の構築と有効化、そして各パッケージのインストールを行う

  • Flaskを使用することで開発用のローカルサーバーを自分のPC上に構築できる

  • Flaskで構築したローカルサーバーのプレビューURLはMacだとポート番号を5000番から変える必要がある。(5001にすればいける)

  • 自分ひとりで作業する際、jsonifyの存在を忘れてしまいそう。

  • 流れを整理すると以下。

  1. サーバーとクライアント接続の確認用コードをpyファイルとhtmlファイルそれぞれに記述

  2. pyファイルでサーバーを作る

  3. htmlおしくはjsファイルのjsにforEachでデータ抽出し、jQueryでappend(POSTのときはFormData)

疑問

  • なぜ今回に限り、venvをインストールする前に、ターミナルはzshではなくbashにしておく必要があったのか。
    調べてみると以下のような回答だった。次回の講座で一応確認しておこうと思う。

Flaskでローカルサーバーを構築する際、ターミナルとしてbashやzshのどちらを使用しても問題ありません。どちらもUnixシェルであり、基本的なコマンドや機能に違いはほとんどありません。ただし、zshにはbashにはない追加機能がいくつかあります。

推奨された理由は、おそらくbashが広く使われているためでしょう。bashはデフォルトのシェルとして多くのLinuxディストリビューションやmacOSで使用されています。これにより、bashを使用することで、様々な環境での互換性が向上します。

しかし、zshも非常に人気があり、macOS Catalina以降ではデフォルトのシェルとして採用されています。zshはbashと互換性があるため、Flaskアプリケーションの開発や実行にも問題なく使用できます。特別な理由がなければ、お使いのシステムでデフォルトで使用されているシェル(bashまたはzsh)を使用して問題ありません。

  • このようなAPIやデータベースを扱うときにjsonifyは定番として使うものなのか?

今後の課題

  • GET、POSTの処理や処理の流れを覚えるのに苦戦中。行ったり来たりして理解が難しい。

  • 今後作るものとしては、投稿したデータに対して、対応する別のデータを出力するものを作りたい。
    例えば、見積もりフォーム、chatbot…
    これまでの内容でなんかできそうな気はする。。。

  • Githubへのフォルダアップロードが難しい。。

この記事が気に入ったらサポートをしてみませんか?