PythonでDjangoアプリケーションを作成する手順の備忘録
※各コマンドはAnaconda Promptで実行
環境
Microsoft Windows [Version 10.0.17134.407]
Python 3.6.5 :: Anaconda, Inc.
Django 2.1.4
プロジェクトの作成
コマンドラインよりDjangoプロジェクトを作成する。
Djangoプロジェクトの作成
コマンドでDjangoプロジェクトを作成したいフォルダにcdし、以下のコマンドを実行する。
※[sample]は任意のプロジェクト名
django-admin startproject sample
フォルダ構成
プロジェクト作成後のフォルダ階層は以下の通り。
sample # プロジェクトの入れ物(好きな名前に変更可能)
│ manage.py # コマンドラインユーティリティ
│
└─sample # Python パッケージの名前
settings.py # 設定ファイル
urls.py # Djangoサイトにおける「目次」
wsgi.py # WSGI互換Webサーバーとのエントリーポイント
__init__.py # PythonパッケージであることをPythonに知らせる空のファイル
動作確認
外側のsampleディレクトリにcdし、以下コマンドを実行する。
python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have 15 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.
December 15, 2018 - 15:37:19
Django version 2.1.4, using settings 'sample.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
コマンド実行後、上記の内容が出力されたらDjango 開発サーバーが起動したことになる。
http://localhost:8000/
に接続すると以下の画面が表示される。
アプリケーションの作成
アプリケーションを作成する際は、「manage.py」と同じディレクトリにcdし、以下コマンドを実行する。
※[polls]は任意のアプリケーション名
python manage.py startapp polls
コマンド実行後、pollsディレクトリが作成される。
ディレクトリ構造は以下の通りとなる。
polls
│ admin.py
│ apps.py
│ models.py
│ tests.py
│ views.py
│ __init__.py
│
└─migrations
__init__.py
ビューの作成
polls/views.pyを開いて、以下のPythonコードを記述する。
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
URLconfの作成
ビューを呼ぶためにURLを対応付けする必要があり、そのためにURLconfが必要になる。
pollsディレクトリにURLconfを作るにはurls.pyを作成する。
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name = 'index'),
]
ルートのURLconfへの反映
polls.urlsモジュールの記述をルートのURLconfに反映する。
sample/urls.pyにdjango.urls.includeのimportを追加して、urlpatternsのリストにinclude()を挿入する。
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
include()関数は他のURLconfへの参照ができる。
これでindexビューをURLconfに紐付けができた。
開発サーバーを起動して、確認する。
python manage.py runserver
サーバー起動後以下にアクセスする。
http://localhost:8000/polls/
"Hello, world. You're at the polls index."が表示されている。
最後に
Anacondaをインストールしていたため、Anaconda Prompt上での作業なった。
OSはWindows 10だが、Anaconda Prompt上でWindows用のコマンドを実行すると、エラーになるので注意。
参考URL:https://docs.djangoproject.com/ja/2.1/intro/tutorial01/