環境 基本 実践 モデル アップロード デプロイ

Djangoアプリを作成する|HerokuとDjangoでブログを作ろう!シリーズその1

最終更新日 2023.02.18

まずは Python の仮想環境に入りましょう。このシリーズでは django という仮想環境にさまざまなパッケージをインストールしているとします。

仮想環境を知らない方へ:
Django の公式サイトには仮想環境について深く書かれていませんが、pip などの使い方はくわしく調べることをおすすめします。仮想環境の作り方はここでは省略します。

仮想環境 django に入り、Django がきちんとインストールしてあるか確かめましょう。Django がインストールされていれば次のコマンドでバージョン情報が出力されるはずです。

python -m django --version

アプリを作成する

コンソールでアプリを作成したいディレクトリに移動してください。通常、このディレクトリは PycharmProjects になります。Django アプリは PyCharm で開発することを強くおすすめします。PyCharm は Python の統合開発環境で、仮想環境の切り替えなど、さまざまなツールを用意しています。

PyCharm をインストールすると、ユーザーディレクトリに PycharmProjects というディレクトリができます。Python のアプリはこのディレクトリで作っていきます。

Django のアプリは次のコマンドで作成します。

django-admin startproject アプリ名

今回は blog というアプリ名のアプリを作りたいので

django-admin startproject blog

とします。すると PycharmProjects に blog というディレクトリが作られ、中に manage.py というファイルと blog という名前のディレクトリが作られます。

blog/
    manage.py
    blog/
        __init__.py
        settings.py
        urls.py
        wsgi.py

blog というディレクトリに blog というディレクトリがもう一つできていることに注意してください。manage.py はとても重要なファイルです。

アプリを起動する

コンソールで manage.py があるところに移動してください。ls コマンドで manage.py が出てきましたか?

それではいよいよアプリを起動しましょう。Django アプリは manage.py を使って起動します。コンソールで次のコマンドを実行してください。

python manage.py runserver

すると下のようなメッセージが出てきて、コンソールが何かを実行して止まります。

Performing system checks...

System check identified no issues (0 silenced).

You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

September 25, 2018 - 18:37:24
Django version 2.1.1, using settings 'blog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

このメッセージはエラーでもなんでもありません。クロームなどのブラウザで

http://127.0.0.1:8000/

にアクセスしてください。下のような画面が出ていたら成功です!

画面右上に Django のバージョンが書かれています。2018年9月現在、最新バージョンは 2.1 です。

もう一度ディレクトリの中身をチェックする

manage.py があるディレクトリをもう一度見てください。下図のように db.sqlite3 が追加されていると思います。

Django はデフォルトで sqlite を使います。このシリーズは Heroku で運用することを目標にしており、Heroku の Django は PostgreSQL と相性がいいので、後(その6あたりを予定)でデータベースを PostgreSQL に設定します。

アプリを終了する

先ほどのメッセージをもう一度見てください。コンソールを開いている人は(実行中で止まっているはずの)コンソールを見てください。最後の一文に

Quit the server with CONTROL-C.

とありますね。Django アプリを終了するには CONTROL と C を同時に押します。CONTROL-C を入力すると

http://127.0.0.1:8000/

にアクセスできなくなります。アプリの開始は python manage.py runserver、アプリの終了は CONTROL-C と覚えましょう。