2017-06-17 19 views
0

私のコンピュータとスマートフォンの両方がwifi経由で私のネットワークにアクセスできるDjango開発サーバーを設定します。ネットワーク上の他のデバイスからアクセスできるDjango開発サーバーを設定する

私はすでにコンピュータにアクセスできる開発サーバーをhttp://127.0.0.1:8000/に設定しました。しかし、私の他のデバイスはできません。

Djangoのドキュメントは言う:

「デフォルトIPアドレス、127.0.0.1は、ネットワーク上の他のマシンからアクセス可能ではないことに注意してください、ネットワーク上の他のマシンに開発サーバーが表示可能にするには、そのを使用します。自分のIPアドレス(例えば192.168.2.1)または0.0.0.0または(IPv6が有効な)。

私は "パブリックIPアドレス"を見つけてこれを使ってみました: python manage.py runserver xx.xx.xxx.x(これは私のパブリックIPアドレスです) : 'xx.xx.xxx.x'は有効なポート番号またはアドレス:ポートのペアではありません。

私はIPアドレスの後に8000と同じことを試みましたが、「エラー:そのIPアドレスを割り当てることができません」というエラーが発生しました。

次に、python manage.py runserver 0.0.0.0:8000。コマンドラインに「Starting development server at ...」と表示されますが、Chromeで「http://0.0.0.0:8000/」と入力すると「このサイトにはアクセスできません」というエラーが表示されます。

私の窓のファイアウォール設定と関係がありますか? 誰か助けてくれますか?ありがとう!

+0

http://xx.xx.xxx.x:8000で試してください。同時に2つのDjangoサーバを同時に起動していますか?あなたはあなたが得ている正確なエラーを投稿できますか? – elena

+0

こんにちは、開発サーバーを0.0.0.0:8000に設定して、http://xx.xx.xxx.x:8000を試しましたが、Chromeのページは「考えている」だけで結果やエラーはありません。私はちょうど1つのDjango開発サーバーを稼働させています - コマンドラインで別のpythonコマンドを試す前に停止します。私は正確なエラーで元の投稿を更新しました。何か案は?ご協力いただきありがとうございます。 – Mark

答えて

0

0.0.0.0は実際のアドレスではなく、サーバーが特定のIPにバインドされていないことだけを示すプレースホルダです。

127.0.0.1で実行すると、127.0.0.1に送信されたクエリにのみ応答します(ローカルホストのみ)。

(最も頻繁に192.168.0.xの)あなたのプライベートアドレスを使用して、それだけでこのアドレス(そう働くべきではありません127.0.0.1で開くが、いつか実装に依存しない)

に問い合わせにお答えします

したがって、0.0.0.0を使用すると、何かに応答します。

TL; DR:0.0.0.0を使用して使用して接続:

  • 127.0.0。あなたのLANの外のコンピュータ用にLAN

  • パブリックIP内の他のコンピュータのため、このコンピュータから

  • コンピュータのプライベートIPアドレス1。これでルータに追加の設定が必要になります。

+0

こんにちは、ありがとうございます。私はちょうど私のコンピュータのプライベートIPアドレスを見つける方法を探せた。コマンドラインで "ipconfig"コマンドを使用して、 "IPv4 Address"(192.xxx.x.xxx)を取得しました。 (168.0.0.xではなく)。だから0.0.0.0:8000で開発サーバーを起動して、私は私のスマートフォンで私の192.xxx.x.xxxアドレスを試してみました。私に与えられた長いジャンゴ様エラーは、 "Disallowed host at/..."です。私のプライベートIPアドレスを "Allowed_hosts"に追加するための提案された解決策で。私はできるだけ早くこれを行う方法を考え出します... – Mark

+0

設定ファイルの許可されたホストの空のリストに私のコンピュータのプライベートIPアドレスを文字列として追加しました。問題が解決しました!ありがとうございました :) – Mark

0

あなたのローカルIPアドレスは公開されていない必要があります。 WindowsマシンでローカルIPを取得するには、cmd:ipconfigで次のコマンドを入力します。 Linuxのタイプに

ターミナルで以下:ifconfig

は、IPアドレスが携帯電話のブラウザの種類にそう形192.168.0.101 [例]

のものであろう。192.168.0.101:8000

関連する問題