[Python/Mac]Flaskで開発したローカル環境のWebサイトをiPhoneから確認する

ローカル環境で開発している内容を、手元のiPhoneから確認したいと思うことがあります。
いつもやり方を忘れるので手順をメモ。

前提

  • iPhoneとMacが同じネットワーク(Wi-Fi)に接続していること

ローカル環境のWebサイトをiPhoneから確認する方法

MacのローカルIPアドレスを確認する

Macで、「システム環境設定」>「ネットワーク」>「Wi-Fi」からIPアドレスを確認します。

iPhoneのブラウザでIPアドレス:ポート番号を打ち込む

前項で確認したIPアドレスを、以下のフォーマットでiPhoneのブラウザ(ChromeやSafari)に打ち込みます。

  • フォーマット : IPアドレス:ポート番号
  • 例 : 192.xxx.xxx:5000

Flaskのポート番号の確認・変更方法

Flaskでは、起動を制御するスクリプトの中でポート番号を指定しています。

具体的には、以下のようなコードのport=5000の部分です。見たまんまですね。

if __name__ == "__main__":
    app.debug = True
    app.run(host='0.0.0.0', port=5000) 

port=xxxが指定されていない場合はデフォルト値の5000です。

もし、毎回iPhoneからポート番号を打ち込むのが面倒なら、スクリプトをport=80と変更すれば、IPアドレスだけでアクセスできます。
ただし、Macで他のシステムがポート番号80にしているとうまくいかない可能性があるのでお気を付けください。

それでもうまくいかない場合は?

  • iPhoneとMacが同じネットワークに接続しているか確認しましょう
  • Flaskのスクリプトで、app.run(host='0.0.0.0',...)となっているか確認しましょう
    • host='0.0.0.0'が無いと外部からのアクセスを受け付けません
  • Mac側のファイアウォールなどの設定を確認しましょう

以上です。

参考