初めに
2日目です。
1日目はこちら
今回はdjangoの設定などを見ながら日本語化してアプリケーションを作成するのがゴールになります。
目次
- 前回の復習
- settings.pyについて
- アプリについて
- アプリを作成する
- アプリの中身について
- 最後に
1. 前回の復習
まずはコンテナを起動しましょう!
# docker exec -it c9b27b34be02 /bin/sh
開発ディレクトリに遷移します。
# cd /root/projects/myproject/myproject
サーバーを起動します。
# python3 manage.py runserver
http://127.0.0.1:8000/
に遷移して以下の画面が出れば大丈夫です!
2. settings.pyについて
まずは、settings.pyの中身を見ていきます。
さすがに全部を見ると長いのでいくつかを紹介します。
DEBUG
DEBUGはブール値になっています。
デフォルトではTrueになっています。
Djangoのデバッグモードのオンオフの切り替えを行います。
True
アプリケーションによってキャッチできないエクセプションが起こるとエクセプションの詳細ページを表示します。
False
Trueで表示されていた詳細ページを表示しないようにします。
本番環境では必ずFalseにしてください。機密データが漏れたりするので!!!
ALLOWED_HOSTS
デバッグモードがオンの時、テストの実行中には適用されません。
ドメインやホストはここに追加します。
INSTALLED_APPS
Djangoにインストールされているアプリを追加します。
アプリを新たにインストールした場合はここに追加する必要があります。
以下ではデフォルトでインストールされているアプリを書いておきます。
django.contrib.admin
管理サイト
django.contrib.auth
認証のためのアプリ
django.contrib.contenttypes
コンテンツタイプを処理するためのアプリ
django.contrib.sessions
セッションのためのアプリ
django.contrib.messages
メッセージのためのアプリ
django.contrib.staticfiles
静的ファイルを管理するためのアプリ
DATABASES
djangoで使用するデータベースの情報を書きます。
デフォルトではSQLite3が設定されています。
LANGUAGE_CODE
djangoで使用する言語を書きます。
デフォルトではen-usになっているのでjaに変更しておきます。
TIME_ZONE
djangoで使用するタイムゾーンを書きます。
デフォルトではUTCになっているのでAsia/Tokyoに変更しておきます。
ここまでくると以下のようにdjangoの起動画面が日本語化されたと思います。
3. アプリについて
djangoにはプロジェクトとアプリと言う概念があります。
イメージとしてはプロジェクトが親でアプリが子になります。
1つのプロジェクトに対して同じ設定を持つアプリを複数作成する事が可能です。
1. アプリを作成する
これからブログアプリを作成してみようと思います。
# ls
db.sqlite3 manage.py myproject
# python3 manage.py startapp blog
# ls
blog db.sqlite3 manage.py myproject
# tree blog
blog
|-- __init__.py
|-- admin.py
|-- apps.py
|-- migrations
| `-- __init__.py
|-- models.py
|-- tests.py
`-- views.py
1 directory, 7 files
#
新たにblogディレクトリが作成されました。
2. アプリの中身について
上で作成したblogディレクトリの中身を紹介していきます。
admin.py
ここでモデルを登録します。
apps.py
blogアプリケーションの構成が書かれています。
migrations
blogアプリケーションのモデルの変更を追跡してデータベースを同期します。
models.py
blogアプリケーションのデータモデルです。
tests.py
blogアプリケーションのテストを追加することができます。
views.py
blogアプリケーションのビューです。
4. 最後に
今回はファイルやファイルの中身についての紹介がメインになりました。
次回は実際にモデルを作成していこうと思います。
お疲れ様でした!