見出し画像

Cloud9でのDjango学習.1

検証が取れてるPiazaCloudのtodoを題材にする
Django3入門: 初心者でも10分でWebサービスを作れる!PythonフレームワークDjangoとPaizaCloudの使い方


Cloud9環境確認

[環境を作成]ボタンを押した状態で、Python3はインスト済、Djangoは未インスト

ec2-user:~/environment $ python3 --version
Python 3.9.16
ec2-user:~/environment $ django --version
bash: django: command not found
ec2-user:~/environment $

実行ディレクトリ作成

スタートディレクトリの下に作る
何となくスタート位置は使いたくなかった。

ec2-user:~/environment $ mkdir my_django
ec2-user:~/environment $ cd my_django
ec2-user:~/environment/my_django $

Djangoのインスト

ec2-user:~/environment/my_django $ python3 -m venv myenv
ec2-user:~/environment/my_django $ source myenv/bin/activate
(myenv) ec2-user:~/environment/my_django $ pip install django
Collecting django
Downloading Django-4.2.14-py3-none-any.whl (8.0 MB)
|████████████████████████████████| 8.0 MB 4.5 MB/s
Collecting asgiref<4,>=3.6.0
Downloading asgiref-3.8.1-py3-none-any.whl (23 kB)
Collecting sqlparse>=0.3.1
Downloading sqlparse-0.5.1-py3-none-any.whl (44 kB)
|████████████████████████████████| 44 kB 5.2 MB/s
Collecting typing-extensions>=4
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Installing collected packages: typing-extensions, sqlparse, asgiref, django
Successfully installed asgiref-3.8.1 django-4.2.14 sqlparse-0.5.1 typing-extensions-4.12.2
WARNING: You are using pip version 21.3.1; however, version 24.1.2 is available.
You should consider upgrading via the '/home/ec2-user/environment/my_django/myenv/bin/python3 -m pip install --upgrade pip' command.
(myenv) ec2-user:~/environment/my_django $ python3 -m pip install --upgrade pip
Requirement already satisfied: pip in ./myenv/lib/python3.9/site-packages (21.3.1)
Collecting pip
Downloading pip-24.1.2-py3-none-any.whl (1.8 MB)
|████████████████████████████████| 1.8 MB 2.4 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.3.1
Uninstalling pip-21.3.1:
Successfully uninstalled pip-21.3.1
Successfully installed pip-24.1.2
(myenv) ec2-user:~/environment/my_django $

ここまででPiazaCloudを選択したのと同じ環境になるスタート位置

プロジェクト作成

(myenv) ec2-user:~/environment/my_django $ django-admin startproject mysite
(myenv) ec2-user:~/environment/my_django $ cd mysite
(myenv) ec2-user:~/environment/my_django/mysite $

setting.pyの修正


ALLOWED_HOSTS = ["*"]

LANGUAGE_CODE = 'ja'
TIME_ZONE = 'Asia/Tokyo'

/my_django/mysite/mysite/settings.py


アプリケーションサーバの起動

[ブラウザアイコン]python3 manage.py runserverのところは
Cloud9では python3 manage.py runserver 0.0.0.0:8080 にする。

アプリケーションの作成

以降の違いは記述します。

(myenv) ec2-user:~/environment/my_django/mysite $ python3 manage.py startapp todo
(myenv) ec2-user:~/environment/my_django/mysite $

views.pyを修正

from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello Django world!")

/my_django/mysite/todo/views.py

urls.pyを新規作成

from django.urls import path
from . import views
urlpatterns = [
    path('', views.index, name='index'),
]

/my_django/mysite/todo/urls.py

urlsを修正

from django.urls import include, path
from django.contrib import admin
from django.views.generic import RedirectView
urlpatterns = [
    path('todo/', include('todo.urls')),
    path('admin/', admin.site.urls),
    path('', RedirectView.as_view(url='/todo/')),
]

/my_django/mysite/mysite/urls.py

setting.pyを修正


INSTALLED_APPS = [
    'todo.apps.TodoConfig',
    'django.contrib.admin',

/my_django/mysite/mysite/settings.py

アプリケーションサーバの起動

データベースを作成前迄で一旦終わる

ここまでの違いはなかった。

この記事が気に入ったらサポートをしてみませんか?