#ここに記述するのはVisualStudioCodeのチュートリアル(英文)を引用した内容である。

 

Django の用語では、「Django プロジェクト」は、いくつかのサイトレベルの設定ファイルと、Web ホストにデプロイして完全な Web アプリケーションを作成する 1 つ以上の「アプリ」で構成されます。Django プロジェクトは複数のアプリを含むことができ、それぞれのアプリは通常、プロジェクト内で独立した機能を持ち、同じアプリが複数の Django プロジェクトに含まれることもあります。アプリはその一部で、Django が期待する特定の規約に従った Python パッケージに過ぎません。

 

最小限の Django アプリを作るには、まずアプリのコンテナとなる Django プロジェク トを作り、次にアプリ自体を作る必要があります。この二つの目的のために、 Django パッケージをインストールしたときにインストールされる Django 管理ユーティリティ、 django-admin を使用します。

 

1_ 仮想環境が起動しているVS Code Terminalで、以下のコマンドを実行します。

 

  $ django-admin startproject web_project .

 

この startproject コマンドは、カレントフォルダがプロジェクトフォルダであると仮定し(最後に .を使用)、その中に以下のものを作成します。

 

manage.py を作成します。

プロジェクト用の Django コマンドライン管理ユーティリティです。python manage.py <command> [options] を使って、プロジェクトの管理コマンドを実行します。

 

web_project という名前のサブフォルダで、以下のファイルを含んでいます。

 

__init__.py:

 Python にこのフォルダが Python パッケージであることを伝える空のファイルです。

 

asgi.py: 

プロジェクトにサービスを提供するASGI互換のWebサーバーのためのエントリポイントです。通常、このファイルはそのままにして、本番用Webサーバーのフックを提供します。

 

settings.py: 

Django プロジェクトの設定が含まれており、Web アプリを開発する過程で変更します。

 

urls.py:

 Django プロジェクトの目次を含んでおり、これも開発の過程で修正します。

 

wsgi.py: 

WSGI 互換の Web サーバがあなたのプロジェクトにサービスを提供するためのエントリーポイントです。通常、このファイルはそのままにしておくと、本番用 Web サーバのフックを提供します。

 

2_ 空の開発用データベースを作成します。

 

  $ python manage.py migrate

 

サーバーを初めて起動すると、デフォルトの SQLite データベースが db.sqlite3 というファイルに作成されます。このデータベースは開発用ですが、少量のウェブアプリケーションであれば実運用でも使用することができます。

 

3_ Django プロジェクトを確認するために、仮想環境が有効になっていることを確認したのち

 

 $ python manage.py runserver 

 

上記のコマンドを使用して Django の開発サーバを起動します。サーバはデフォルトのポート 8000 で実行され、ターミナルウィンドウに以下のような出力が表示されます。

 

>>

Performing system checks...

System check identified no issues (0 silenced).

January 15, 2021 - 14:33:31
Django version 3.1.5, using settings 'web_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
>>

Django の組み込み Web サーバは、ローカルでの開発のみを目的としています。しかし、Web ホストにデプロイする場合、Django は代わりにホストの Web サーバを使用します。Django プロジェクトの wsgi.py と asgi.py モジュールが、実運用サーバへのフックを担当し ます。

 

もしデフォルトの 8000 以外のポートを使いたい場合は、コマンドラインで python manage.py runserver 5000 のようにポート番号を指定してください。

 

3_ ターミナルの出力ウィンドウにある http://127.0.0.1:8000/ の URL を Ctrl+ クリックして、そのアドレスにデフォルトのブラウザを開いてください。Django が正しくインストールされ、プロジェクトが有効であれば、デフォルトのページが表示されます。VS Code の端末出力ウィンドウには、サーバログも表示されます。

 終了したら、ブラウザーのウィンドウを閉じ、ターミナルの出力ウィンドウに表示されているように、VS CodeでCtrl+Cを使用してサーバーを停止します。

 

4_ 仮想環境を有効にしたVS Code Terminalで、管理ユーティリティのstartappコマンドをプロジェクトフォルダ(manage.pyが存在する場所)で実行します。

 

  $ python manage.py startapp <フォルダ(アプリ)名>

 

このコマンドは、いくつかのコードファイルと1つのサブフォルダを含む <フォルダ名> というフォルダを作成します。

これらのうち、views.py(Webアプリのページを定義する関数を含む)とmodels.py(データオブジェクトを定義するクラスを含む)はよく使うものです。

migrations フォルダは、このチュートリアルで後述するように、Django の管理ユーティリティがデータベースのバージョンを管理するために使用します。

また、 apps.py (アプリの設定)、 admin.py (管理インターフェイスの作成)、 tests.py (テストの作成) というファイルもありますが、ここでは取り上げません。

 

5_ 

<フォルダ名>/views.py を以下のコードに合うように修正し、アプリのホームページ用の単一ビューを作成します。

 

from django.http import HttpResponse

 

def home(request):

    return HttpResponse("Hello, Django!")

 

以下の内容で <フォルダ(アプリ)名>/urls.py というファイルを作成します。urls.py ファイルは、異なる URL を適切なビューにルーティングするためのパターンを指定する場所です。以下のコードでは、アプリのルート URL ("") を、先ほど <フォルダ(アプリ)名>/views.py に追加した views.home 関数にマップするルートを1つ含んでいます。

 

from django.urls import path

from <フォルダ(アプリ)名> import views

 

urlpatterns = [

    path("", views.home, name="home"),

]

 

6_ web_project フォルダは urls.py ファイルも含んでおり、URL ルーティングが実際に処理される場所です。web_project/urls.py を開いて、以下のコードに合うように修正します (お望みなら、指示するコメントを残しておいてもかまいません)。このコードは django.urls.include を使ってアプリの <フォルダ名>/urls.py を取り込み、アプリのルーティングをアプリの中に収 めています。この分離は、プロジェクトに複数のアプリが含まれている場合に便利です。

 

from django.contrib import admin

from django.urls import include, path

from django.urls import include

 

urlpatterns = [

    path("", include("<フォルダ(アプリ)名>.urls")),

    path('admin/', admin.site.urls)

]

 

7_ VS Code Terminal で、再び仮想環境を有効にして、 python manage.py runserver で開発サーバを起動し、ブラウザを http://127.0.0.1:8000/ に開くと、 "Hello, Django" をレンダリングするページが表示されます。