LoginSignup
2
4

More than 3 years have passed since last update.

Dockerで始めるDjango生活(2日目)

Last updated at Posted at 2020-11-27

初めに

2日目です。
1日目はこちら
今回はdjangoの設定などを見ながら日本語化してアプリケーションを作成するのがゴールになります。

目次

  1. 前回の復習
  2. settings.pyについて
  3. アプリについて
    1. アプリを作成する
    2. アプリの中身について
  4. 最後に

1. 前回の復習

まずはコンテナを起動しましょう!

# docker exec -it c9b27b34be02 /bin/sh

開発ディレクトリに遷移します。

# cd /root/projects/myproject/myproject

サーバーを起動します。

# python3 manage.py runserver

http://127.0.0.1:8000/
に遷移して以下の画面が出れば大丈夫です!
image.png

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の起動画面が日本語化されたと思います。image.png

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. 最後に

今回はファイルやファイルの中身についての紹介がメインになりました。
次回は実際にモデルを作成していこうと思います。
お疲れ様でした!

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4