はじめに
普段からPythonを学習しており、Djagoの学習をはじめました。公式のチュートリアルを備忘録として記載していきます。
環境
- バージョン管理
Anaconda
## プロジェクトを作成する
$ django-admin startproject mysite
外側のmysite/ルートディレクトリは、プロジェクトのコンテナの役割。
ディレクトリの中
- mysite/__ init __.py:このディレクトリがpythonパッケージであることをPythonに知らせるための空のファイル。
- mysite/settings.py:Djangoプロジェクトの設定ファイル。
- mysite/url.py:DjangoプロジェクトのURL宣言、言うなればDjangoサイトにおける「目次」に相当する。
- mysite/asgi.py:プロジェクトを提供するASGI互換Wrbサーバーのエントリポイント。
- mysite/wsgi.py:プロジェクトをサーブするためのWSGI互換Webサーバーとのエントリーポイントです。
ローカルサーバーを立てる
$ python manage.py runserver
Pollsアプリケーション作成
アプリはPythonパス上のどこにでも置くことができる。サブモジュールとしてではなく、それ自身のトップモジュールとしてインポートできるよう、manage.pyファイルと同じディレクトリにポーリングアプリを作成する。
$ python manage.py startapp polls
ビューの作成
- polls/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
pollsディレクトリにURLconfをを作るにはurls.pyを作成する。
- polls/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
ルートのURLconfにpolls.urlsモジュールの記述を反映させる。
mysite/urls.pyにdjango.urls.includeのimportを追加して、urlpatternsのリストにinclude()を挿入する。
- mysite/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
include()関数は他のURLconfへの参照することができる。