ホーム >  AWS >  AWS Cloud9でDjangoを開発する

投稿日:   |  最終更新日:

AWS Cloud9でDjangoを開発する

AWSCloud9DjangoPython

Cloud9はPythonが利用できますが、フレームワークであるDjangoを開発することも可能です。

Cloud9のPython開発

以下の続きです。今回は、Djangoアプリを作成して、最初の画面を表示します。

【無料】AWSのCloud9でPythonを使う【準備】

また、他者とCloud9を共有することも可能です。

AWS Cloud9のワークスペースを他人と共有するには?

前提条件・作業の流れ

  • AWSユーザー作成済み。
  • Cloud9のワークスペースを作成済み。

①Cloud9のPythonのバージョンをPython3に設定します。

②コンソールを開き、Djangoをインストールします。

③Djangoプロジェクトを作成します。

Cloud9でPython3を設定する

Cloud9は、Pythonのバージョンを2か3に選択できます。Djangoアプリを作成しますので、まずPython3に変更します。

①画面左上の「AWS Cloud9」をクリックし、メニューの「Preferences」をクリックします。

②開いた設定タブの左側のメニューの「Python Support」を選択し、「Python version」をPython3に変更します。


Djangoのインストール

Python3のpipでDjangoをインストールします。

①画面上の「Window」をクリックし、「New Terminal」をクリックしてコンソールタブを開きます。

②下記コマンドを実行します。

sudo pip-3.6 install django

Djangoプロジェクトの作成

Djangoプロジェクトを作成します。コンソールで下記コマンドを実行します。

django-admin startproject MyTestApp

MyTestAppはプロジェクト名です。他の任意の名前でもOKです。

コマンドを実行すると、プロジェクト名と同じ名前のディレクトリが作成されます。

コンソールで下記コマンドを実行します。プロジェクトフォルダに移動します。

cd MyTestApp

Djangoアプリサーバの起動

①コンソールで下記コマンドを実行します。

python3 manage.py runserver 0.0.0.0:8000

コンソールにこんな内容が表示されれば起動は成功です。

※ただし、アプリサーバは起動していますが、まだAWSのファイアーウォールとdjangoのホスト制限が作動しています。この状態では外部からアクセスできません。

セキュリティグループを設定してポートを開放

①AWSのEC2の設定画面に移動します。画面左上の「AWS Cloud9」をクリックし、メニューの「Go To Your Dashborad」をクリックします。

すると、別タブで、Cloud9のダッシュボードが開きます。

②ダッシュボード左上の「サービス」をクリックし、表示されたメニューの「EC2」をクリックします。

③EC2のダッシュボードが表示されるので、「実行中のインスタンス」をクリックします。

④EC2インスタンスの一覧が表示されます。

インスタンスが停止している場合は、上部の「アクション」ボタン→「インスタンスの状態」→「開始」でインスタンスを開始してください。

画面下部には選択したインスタンスの詳細が表示されています。そのうち「パブリック DNS (IPv4)」の欄に表示されているのが、URLの中央部(ホスト)になります。

この前に「http://」をつけ、最後に「:8000」をつけてアクセスしてください。

例)http://xxxxxxxxx-1.compute.amazonaws.com:8000

⑤セキュリティグループの欄をクリックします。

セキュリティグループの設定が表示されます。

⑥インバウンドタブを開き、「編集」をクリックします。

⑦インバウンドルールを設定するダイアログが表示されます。

(1)「ルールの追加」をクリックします。

(2)TCPカスタムを選択しポートの欄に8000を入力します。

(3)保存をクリックします。

これで、ファイアーウォールの設定画変更されます。8000番ポートのアクセスが許可されます。

先ほどの「パブリック DNS (IPv4)」の欄に表示されている内容に、「http://」をつけ、最後に「:8000」をつけてアクセスしてください。

この時点で、Djangoのアプリにアクセスすることができますが、ホスト制限のため上記のようなエラーが表示されます。

DjangoのALLOWED_HOSTSを設定

Cloud9のIDEで、MyTestAppディレクトリにあるsettings.pyを開きます。

ALLOWED_HOSTSというリストに、先程の「パブリック DNS (IPv4)」の欄に表示されている内容を記述して保存します。

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.0/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '!x)p5(mlq7@11nrgu(+j-_!v!@@=cu)*%w5i7z*ho+q3lk0d+7'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = ['xxxxxxxx-1.compute.amazonaws.com']


# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
~(省略)~

もう一度、「:8000」で終わるURLにアクセスして下さい。下のように、Djangoの初期画面が表示されれば成功です。


次回


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告