Django Girls チュートリアル(2) プロジェクト作成~Webサーバー起動

アイキャッチ


Django Girls チュートリアルの前回の続きです。

Django Girls チュートリアル(1)  概要~Djangoインストール | てつふくブログ

目次 1. Django Girls チュートリアル 1-1. 動画やチャットでのサポート 2. チュートリアルのゴール 3. PC環境について 4. インストール 5. 仮想環境 5-1. ディレクトリの作成 5-2. 仮想環境の作成 5-3. 仮想環境の起動 5-4. Django のインストール 6.

「ここからは、小さなブログを作っていきますよ!」ということで、Djangoで小さなブログを作っていきます。

このチャプターの一部はGeek Girls Carrotsのチュートリアルをもとにしています。(https://github.com/ggcarrots/django-carrots)

このチャプターの一部は Creative Commons Attribution-ShareAlike 4.0 International License のライセンスによる django-marcador tutorial をもとにしています。 この django-marcador tutorial は Markus Zapke-Gründemann たちが著作権を保有しています。

https://tutorial.djangogirls.org/ja/django_start_project/

Django のプロジェクト作成

Django のスクリプトを実行するとDjangoプロジェクトの骨格が生成されます。スクリプトにより、これから使うファイルやフォルダが自動生成されます。

では、仮想環境で作業していることを確認して進めていきます。プロンプトの先頭に(myvenv)と表示されていれば仮想環境はOK。

次のスクリプトを実行します。最後のピリオドは現在のディレクトリを意味するので忘れずに打ち込みましょう。

(myvenv) ~/djangogirls_blog$ django-admin startproject mysite .

下のような構成になりました。先ほどの django-admin は必要なファイルとディレクトリを作成するスクリプトです。

../djangogirls_blog/
├── manage.py
├── mysite
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── requirements.txt
  • manage.pyファイルはサイト管理に使用するスクリプトです。このスクリプトを利用してコンピュータ上でWebサーバーを起動することができます。
  • settings.pyファイルにはウェブサイトの設定が含まれています。
  • urls.pyファイルにはURLソルバー(名前解決?)で使用されるパターンのリストが含まれています。

以上でプロジェクトを作成できました。

設定変更

mysite/settings.py ファイルを編集します。テキストエディタでファイルを開きます。

タイムゾーンを東京に変更

TIME_ZONE = 'UTC'
 ↓
TIME_ZONE = 'Asia/Tokyo'

言語コード日本語に変更

LANGUAGE_CODE = 'en-us'
 ↓
LANGUAGE_CODE = 'ja'

静的ファイルのパスを追加

ファイル最下行のSTATIC_URLで始まる行の下に新しい行を追加します。

STATIC_URL = '/static/'
(以下追加)
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

この内容についてはチュートリアルの説明で

(静的ファイルとCSSについては、後ほどチュートリアルで説明します)

とのことなのでよくわからないけど次に行きます。

ALLOWED_HOSTSを変更

ALLOWED_HOSTS = []
 ↓
ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com']

後ほど、PythonAnywhereにファイルをアップロードする項目があるため、そのホスト名をALLOWED_HOSTSに追加しています。詳しくは↓のとおりです。

DEBUGTrue に設定されていて、ALLOWED_HOSTS空のリストの時は、自動的に **[‘localhost’, ‘127.0.0.1’, ‘[::1]’] **という3つのホストに対してチェックが行われます。このままの設定では、これから私たちがデプロイして使う PythonAnywhere のホストネームが含まれていません。ですから、次のように設定を変更します。

https://tutorial.djangogirls.org/ja/django_start_project/

データベースをセットアップ

Djangoがデフォルトで使うデータベースの sqlite3 を使用していきます。このデータベースにサイトのデータを保存します。

本家サイトに記載とのとおり setting.py の中にすでに設定があります。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

それでは、ターミナルで manage.py があるディレクトリ(djangogirlsディレクト)にいることを確認して次のコマンドを実行します。(注: 僕はdjangogirlsの代わりにdjangogirls_blogフォルダで作業しています)

(myvenv) ~/djangogirls_blog$ python manage.py migrate

下の画像のように応答が表示されてデータベースのセットアップが完了します。

データベースセットアップ

Webサーバー起動

ここまでの設定ができたら、次にWebサーバーを起動して正常に動作しているかを確認します。
ターミナルで manage.py があるディレクトリ(djangogirlsディレクト)に移動して次のコマンドを実行します。

(myvenv) ~/djangogirls_blog$ python manage.py runserver
Webサーバ起動

これでWebサーバーが起動しているはずなので、ブラウザでLocalhostにアクセスして表示されるか確認してみます。Chrome, Firefox, Edge, IE 等で次のアドレスを表示させてみてください。

http://127.0.0.1:8000/
Webサーバ動作確認

Webサーバー補足

Webサーバーが起動・動作している間は新しいコマンドは実行されません。

コマンドを実行したい場合は新しい端末(Windowsではコマンドプロンプト)を開いて、virtualenvをアクティブにしてからコマンドを入力します。

Webサーバーを終了させる場合は、Webサーバーを実行中の端末のウィンドウで、CTRL + C を押します(確認してませんが、WindowsではCtrl + Breakキーを押す必要があるようです。)

ここまでのまとめ

ここまでで

  • Djangoでプロジェクトの作成
  • sqlite3データベースのセットアップ
  • Webサーバーの起動
  • Webページの確認

まで進みました。次は実際にコンテンツを作り始めるそうです。

スポンサーリンク