LoginSignup
2
4

More than 3 years have passed since last update.

Djangoのテストサーバーに他のPCから接続する時の設定

Last updated at Posted at 2020-04-13

Djangoのテストサーバーに他のPCから接続する時の設定

Djangoをインストールして、/home/userid/(~/)で

django-admin startproject mysite

でジェネレート。

cd mysite
python manage.py runserver

でテスト用にhttpサーバーを起動する所までは公式ドキュメント読みながらすぐに出来ると思います。
けど、サーバーを別のマシンや仮想環境で立ち上げると、他のPCからはアクセス出来ません。
そこで公式ドキュメント
 https://docs.djangoproject.com/ja/3.0/intro/tutorial01
を見ると

のように書いてあります。

python manage.py runserver 0:8000

その通りに立ち上げて他のPCからアクセスすると、ALLOWED_HOSTSにIPを追加しろと怒られます。

ここでその通りに ~/mysite/mysite/settings.py に追加すると、ちゃんと空のページが表示されます。

公式ドキュメントの説明が間違っているのでこうなります。
正解はALLOWED_HOSTSにサーバー(HOST)のIPを登録して

python manage.py runserver 192.168.29.218:8000

のように登録したIPで起動する、です。

なぜ?

公式ドキュメントの「すべてのIPから」が間違い。
正しくは「サーバーのすべてのIPで」待ち受ける、です。この時IPに0を指定します。
でないと、サーバーのローカルIP(127.0.0.1)でしかリクエストを受け付けられなくなります。
他のPCからつなぐ時はサーバーのIPを指定しますから、サーバー側も待ちうけIPを指定して、リクエストを通してあげる必要があります。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4