Django + Vagrant でブラウザ接続できないときにやること

日本ではまだまだ流行りきっていないが
PythonのがっつりフレームワークのDjangoを使う時に時々あるやつ。

Vagrantの仮想環境上でDjangoを使用してアプリを作ろうとした時
runserverを実行してもブラウザ上で表示できない!!というちょんぼに
見舞われることがるかとおもいます。
この記事をよんでいる君はまさにそんなところ。

下の3つを試してみれば大体は解決するはず。
環境はVagrant + Centos7です。
こうなるのがゴール
runserver_django

広告

Centosのポート開放

Centos7はiptableは使いません。
firewalldを使用するので、8000番をちゃちゃっと開放しましょう。

その後、firewallをリロードします。


これでOk

もし8000番以外を使いたいよう。
数字を変えれば問題ありません。

Vagrantのポートフォーワード

Vagrantを使っていて時々忘れてしまうのが
ポートフォーワードの設定です。

Vagrantfileを書き換えてcentos側で開放したポートを
自分のパソコン側で見れるように設定します。

ループ内のconfigに下記を追加します。

あとは仮想マシンを再起動すれば、
ブラウザで127.0.0.1:8800を入力して見られます。

manage.py runserver のオプション

僕はこれでした。
接続できないことに焦っていたら、そういえばと。

そういえば
Railsでも同じような状況があったよね。
Vagratnt+Centos7+Rails4でブラウザにアクセス出来ない時にやったこと

ということで
Djangoでも0.0.0.0にしてしまえばいいんじゃろう!!
起動コマンドをちょっとだけ修正したらあら成功。

だいたい解決!!

無事ブラウザで表示できたね。
runserver_django

助かった助かった。

うーん。
まあこれぐらいならサーバーサイドじゃなくても
できないと大変だよね。



じゃあね~