virtualenvでDjangoを立ち上げて、Hello world表示

2022年11月16日

手順

  1. ディレクトリを作ってそこに移動
% mkdir <a directory>
% cd <a directory>

2. virtualenvコマンドで仮想環境を作成(venvの部分は好きな文字列でOK)

% virtual venv --python=<python bin path>

<python bin path>は指定したPythonのバージョンのbinの場所
 下記のコマンドで確かめられる

% where python3.9
/usr/local/bin/python3.9

3. 作成した仮想環境に入る

% source venv/bin/activate

4. Djangoをインストール

% pip install django
Collecting django
  Downloading Django-3.2.8-py3-none-any.whl (7.9 MB)
     |████████████████████████████████| 7.9 MB 3.2 MB/s 
Collecting asgiref<4,>=3.3.2
  Downloading asgiref-3.4.1-py3-none-any.whl (25 kB)
Collecting pytz
  Downloading pytz-2021.3-py2.py3-none-any.whl (503 kB)
     |████████████████████████████████| 503 kB 18.9 MB/s 
Collecting sqlparse>=0.2.2
  Downloading sqlparse-0.4.2-py3-none-any.whl (42 kB)
     |████████████████████████████████| 42 kB 1.9 MB/s 
Installing collected packages: sqlparse, pytz, asgiref, django
Successfully installed asgiref-3.4.1 django-3.2.8 pytz-2021.3 sqlparse-0.4.2

5. Djangoのプロジェクトを作成する

% django-admin startproject test
  • このコマンドを実行すると下記の構成のtestapiというディレクトリが作成される。
<a directory>/test/      # projectディレクトリ
│
├── test/.                  # projectの設定
│   ├── __init__.py
│   ├── settings.py         # projectの設定ファイル
│   ├── urls.py             # URL設定
│   ├── asgi.py             # projectを提供するASGI互換Webサーバーのエントリポイント
│   └── wsgi.py             # projectをサーブするためのWSGI互換Webサーバーのエントリポイント
│
└── manage.py

6. Djangoのアプリを作成する

% python manage.py startapp helloworld
  • このコマンドを実行すると下記のディレクトリとファイルが追加される
<a directory>/test/   # projectディレクトリ
│
├── helloworld/.            ## appディレクトリ
│   ├── __init__.py
│   ├── admin.py            ## 
│   ├── apps.py             ## 
│   ├── models.py           ## 
│   ├── tests.py            ## 
│   ├── views.py            ## 
│   └── migrations/.        ## 
│       └── __init__.py
│
├── db.sqlite3              ## SQLite3
├── test/.             
└── manage.py

7. …/test/helloworld/views.pyを下記のように書き換える

from django.shortcuts import render
from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello world")

8. …/test/helloworld/urls.pyを作成し、下記のように書く

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index')
]

9. …/test/test/views.pyを下記のように書き換える

from django.contrib import admin
from django.urls import path
from django.conf.urls import include           ## Add this line

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('helloworld.urls')), ## Add this line
]

10. サーバーを起動する

% python manage.py runserver

11. ブラウザで http://127.0.0.1:8000/ にアクセス

参考にしたサイト

手順Python,Django

Posted by ttnt