未分類

AWS Cloud9+Python3+django2でチュートリアル

こちらのdjango2.0公式ページからチュートリアルを行いましょう。基本そのまま進めればOKですが、AWS Cloud9特有の処理があるのでメモします。

チュートリアルでは、下記コマンドでdjangoプロジェクトを実行します。

$ python manage.py runserver

するとコマンドライン上で下記の出力が出るはずです。

Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

8月 01, 2018 - 15:50:53
Django version 2.0, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

ブラウザで「http://127.0.0.1:8000/」にアクセスしようとしても、自分のPCとAWS Cloudでは違う環境ですので、アクセスできません。

なので、AWS Cloud9上では下記コマンドを使います。

$ python manage.py runserver $IP:$PORT

するとコマンドライン上で下記の出力が出るはずです。

ec2-user:~/environment/myproject/mysite $ python manage.py runserver $IP:$PORT 
Performing system checks...

System check identified no issues (0 silenced).

You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

January 03, 2019 - 02:42:31
Django version 2.0.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8080/
Quit the server with CONTROL-C.
Invalid HTTP_HOST header: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.vfs.cloud9.us-east-2.amazonaws.com'. You may need to add '08f53c55caed40d7a1ece9d4bc8e4a4f.vfs.cloud9.us-east-2.amazonaws.com' to ALLOWED_HOSTS.

ではブラウザのアドレスバーに「Invalid HTTP_HOST header」に表示されている「.com」で終わるアドレスを入力してみてください。

下記エラーが出ると思います。

DisallowedHost at /
Invalid HTTP_HOST header: '08f53c55caed40d7a1ece9d4bc8e4a4f.vfs.cloud9.us-east-2.amazonaws.com'. You may need to add '08f53c55caed40d7a1ece9d4bc8e4a4f.vfs.cloud9.us-east-2.amazonaws.com' to ALLOWED_HOSTS.

ALLOWED_HOSTSにこのアドレスを追加しろ、と言っていますので、追加しましょう。「Ctrl + C」で一旦djangoを停止します。

mysite/settings.pyを開いてください。下記部分を編集します。

ALLOWED_HOSTS = []
ALLOWED_HOSTS = ['xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.vfs.cloud9.us-east-2.amazonaws.com']

ではもう一度djangoを開始し、ブラウザでアクセスしてみてください。以下のような画面が出れば成功です。

-未分類

© 2024 プログラマの雑記帳 Powered by AFFINGER5