DjangoでWebアプリケーションを構築する

2017年5月10日

PythonのWebアプリケーションフレームワークである「Django」を利用して、アプリを作成する手順を書いていきます。
今回はとりあえず、プロジェクトを作成して「It worked!」と表示されるところまで説明していきたいと思います。

前提条件

  • OS:macOS Sierra 10.12.3
  • Python 3.5.1
  • Django 1.10.5

Pythonのバージョン管理はこちらを参考に設定してもらえればと思います。

Macでpyenv-virtualenvを使ってみる

プロジェクトを作成する

Djangoはあらかじめpipなどでインストールしておいてください。

# とりあえず最新版をインストールしたい場合
$ pip install Django
# バージョンを指定したい場合
$ pip install Django==1.10.5

Djangoがインストールされている状態でstartprojectを実行してプロジェクトを作成します。

$ django-admin startproject sample

すると下記のフォルダとファイルが作成されます。

  • sample
    • manage.py
    • sample
    • init.py
    • settings.py
    • urls.py
    • wsgi.py

Webアプリケーションを実行する

先ほど作成したプロジェクトでmanage.pyがあるディレクトリに移動します。

$ cd sample

移動後にmanage.pymigrateを実行し、マイグレーションを行います。

$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying sessions.0001_initial... OK

マイグレーションに成功したらmanage.pyrunserverを実行してWebアプリケーションを起動します。

$ python manage.py runserver
Performing system checks...

System check identified no issues (0 silenced).
March 21, 2017 - 05:52:55
Django version 1.10.5, using settings 'sample.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Webブラウザで確認する

Webブラウザを開いて「http://127.0.0.1:8000/」にアクセスします。

下記の画面が表示されたら成功です。

まとめ

たった3行のコマンドの実行だけでWebアプリケーションを作成することができました。

$ django-admin startproject sample
$ python manage.py migrate
$ python manage.py runserver

本当にシンプルにWebアプリケーションが作成できるので、皆さんも是非試してみてもらえればと思います。
次回はPython3系を利用している場合のMySQLの接続について説明していきたいと思います。