現在の状況
さて、前回せっかくブラウザ上で表示するところまでこぎ着けたわけだが、
dev/django
- └─── mysite
├─── manage.py
├─── myapp
│ ├─── migrations
│ │ └───__init__.py
│ ├─── __init__.py
│ ├─── admin.py
│ ├─── apps.py
│ ├─── models.py
│ ├─── tests.py
│ └─── views.py
- └─── mysite
├─── __init__.py
├─── asgi.py
├─── settings.py
├─── urls.py
└─── wsgi.py
mysite
が重複していてややこしいので一旦作り直す。
必要に応じて cd
する。1階層上に上がりたければ cd ../
しよう。
dev/django/mysite> cd ../
dev/django>
ディレクトリの削除
削除は rm 削除したいディレクトリ
でできる。
dev/django>rm mysite
確認
C:\Users\cloud\dev\django\mysite の項目には子があり、Recurse パラメーターが指定されていませんでした。続行した場合、項目と共にすべての子が削除されます。続行しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"):
すると今回はディレクトリが空じゃないので確認 (警告) が出る。Y
を入力してディレクトリを消す。
dev/django>rm mysite
確認
C:\Users\cloud\dev\django\mysite の項目には子があり、Recurse パラメーターが指定されていませんでした。続行した場合、項目と共にすべての子が削除されます。続行しますか?
[Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "Y"):
+ Y
dev/django>
ちなみに -R
を追記すると確認を出さずに消すことができる。
dev/django>rm mysite -R
dev/django>
ディレクトリを作り直す
前回やった内容を再度やるだけ。
ただ、作成するディレクトリ名と階層が前回と異なる。
dev/django
└─── mysite
├─── manage.py
+ ├─── config
│ ├─── __init__.py
│ ├─── asgi.py
│ ├─── settings.py
│ ├─── urls.py
│ └─── wsgi.py
├─── myapp
│ ├─── migrations
│ │ └───__init__.py
│ ├─── __init__.py
│ ├─── admin.py
│ ├─── apps.py
│ ├─── models.py
│ ├─── tests.py
│ └─── views.py
+ ├─── static
+ └─── templates
ディレクトリ作成
mkdir 作成するディレクトリ名
でディレクトリを作成する。
mkdir
は "MaKe DIRectory" の意。必要に応じて cd
する。
dev/django> mkdir mysite
ディレクトリ: C:\Users\dev\django
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 1601/01/01 00:00 mysite
dev/django>
dev/django
+ └─── mysite
続いて作成したディレクトリに移動
dev/django> cd mysite
dev/django/mysite>
プロジェクトを作成
startproject 作成するディレクトリ名 作成する階層
前回と異なるのは、作成する階層
という引数を与えていること。
.
は同階層の意。mkdir ./aaa
と打てば同階層に aaa
というフォルダができる。
dev/django/mysite> django-admin startproject config .
dev/django/mysite>
または
dev/django/mysite> py -m django startproject config .
dev/django/mysite>
成功の旨は出ないがディレクトリが増えている。
dev/django
└─── mysite
+ ├─── manage.py
+ └─── config
+ ├─── __init__.py
+ ├─── asgi.py
+ ├─── settings.py
+ ├─── urls.py
+ └─── wsgi.py
static と templates フォルダの作成
同じ階層に static
と templates
フォルダも作成しておく
dev/django/mysite>mkdir static
dev/django/mysite>mkdir templates
static
CSS, JavaScript, Images などの静的なファイルを格納するフォルダ。
templates
HTML を格納するフォルダ。
dev/django
└─── mysite
├─── manage.py
├─── config
│ ├─── __init__.py
│ ├─── asgi.py
│ ├─── settings.py
│ ├─── urls.py
│ └─── wsgi.py
+ ├─── static
+ └─── templates
Webアプリを作成
dev/django/mysite> py manage.py startapp myapp
dev/django/mysite>
dev/django
└─── mysite
├─── manage.py
├─── config
│ ├─── __init__.py
│ ├─── asgi.py
│ ├─── settings.py
│ ├─── urls.py
│ └─── wsgi.py
+ ├─── myapp
+ │ ├─── migrations
+ │ │ └───__init__.py
+ │ ├─── __init__.py
+ │ ├─── admin.py
+ │ ├─── apps.py
+ │ ├─── models.py
+ │ ├─── tests.py
+ │ └─── views.py
├─── static
└─── templates
設定の変更
設定ファイルである config/settings.py
を編集する。
言語
LANGUAGE_CODE
を 'en-us'
から 'ja'
に書き換える。
スクロールして探しても良いが、 Ctrl + F
で検索する方が楽。
- LANGUAGE_CODE = 'en-us'
+ LANGUAGE_CODE = 'ja'
タイムゾーン
TIME_ZONE
を 'UTC'
から 'Asia/Tokyo'
にする。
先ほど編集した LANGUAGE_CODE
のすぐ下にある。
- TIME_ZONE = 'UTC'
+ TIME_ZONE = 'Asia/Tokyo'
参照先
先ほど作成した static
と templates
を参照先として登録する。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [],
+ 'DIRS': [Path(BASE_DIR) / 'templates'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
~~~~~~~~~~~~~~~~~~~~
STATIC_URL = 'static/'
+ STATIC_ROOT = Path(BASE_DIR) / 'static'
作成したアプリを登録
作成したアプリ myapp
を登録する。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
+ 'myapp',
]
末尾に書き足すだけでOK。,
で終わっても問題ない。
起動確認
runserver
で起動するかどうかを確認
dev/django/mysite> py manage.py runserver
ブラウザ上で http://127.0.0.1:8000/ にアクセスして表示されたらOK。
マジで0からDjangoシリーズ
次回アプリ作成編