【Web開発者におすすめ】PythonベースのWebアプリフレームワーク「Django」の始め方

今回の記事では、いくつか存在するWebアプリケーションフレームワークの中でDjangoについてご紹介します。
開発スピードが速くなっていく中でフレームワークの使用は必須となっていると言ってよいでしょう。
はじめに
今回の記事では、いくつか存在するWebアプリケーションフレームワークの中でDjangoについてご紹介します。
開発スピードが速くなっていく中でフレームワークの使用は必須となっていると言ってよいでしょう。
開発スピードが速くなっていく中でフレームワークの使用は必須となっていると言ってよいでしょう。
Pythonの特徴
Pythonは、注目を集めている人気のプログラミング言語です。
シンプルながら汎用性が高いので、多くのエンジニアに支持されています。
Pythonの最大の特徴は「コードの記述が短くて済む」という点です。
シンプルながら汎用性が高いので、多くのエンジニアに支持されています。
Pythonの最大の特徴は「コードの記述が短くて済む」という点です。
Djangoとは何か
DjangoはPython のWebアプリケーション開発用フレームワークです。
Python製のフレームワークはいくつか挙げられますが、Djangoは学習コストがやや高めな一方で、様々な機能を取り込めることが可能です。
Python製のフレームワークはいくつか挙げられますが、Djangoは学習コストがやや高めな一方で、様々な機能を取り込めることが可能です。
Djangoのインストール
pipコマンドで、Djangoを簡単にインストールすることができます。Pythonではパッケージのインストールを簡単にするために、pipというパッケージ管理ツールが用意されています。
$ pip install django
プロジェクトの作成
Django をインストールできたら、まずDjango プロジェクトを準備します。
まずは簡単なアプリケーションを開発してみます。
プロジェクト作成用にtempというディレクトリを作成します。
cdコマンドで作成したディレクトリへ移動します。
Djangoをインストールすると、django-adminというコマンドを使用できるようになります。
django-admin は Django において管理者権限の処理を行うためのコマンドラインユーティリティです。django-adminに続いてサブコマンドを指定することで、様々なことが行えます。django-admin コマンドは、プロジェクトの雛形コードの生成などを行ないます。
以下のコマンドを実行してください。testがプロジェクトの名前です。
プロジェクトのディレクトリに移動します。
次のコマンドを実行すると、indexというディレクトリが作成されます。
プロジェクトを作成すると各種ファイルが作成されます。
各ファイルの役割は以下のようになります。
__init__.py:[プロジェクト名]フォルダが Python のパッケージであることを証明する。
setting.py:Django プロジェクトの様々な設定を記述する。
manage.py:django-adminコマンドを使用する際のショートカットスクリプト。
urls.py:ルーティングについて記述する。
asgi.py、wsgi.py:非同期処理の実装などで使うファイル。
まずは簡単なアプリケーションを開発してみます。
プロジェクト作成用にtempというディレクトリを作成します。
$ mkdir temp
cdコマンドで作成したディレクトリへ移動します。
$ cd temp
Djangoをインストールすると、django-adminというコマンドを使用できるようになります。
django-admin は Django において管理者権限の処理を行うためのコマンドラインユーティリティです。django-adminに続いてサブコマンドを指定することで、様々なことが行えます。django-admin コマンドは、プロジェクトの雛形コードの生成などを行ないます。
以下のコマンドを実行してください。testがプロジェクトの名前です。
$ django-admin startproject test
プロジェクトのディレクトリに移動します。
$ cd test
次のコマンドを実行すると、indexというディレクトリが作成されます。
$ python manage.py startapp index
プロジェクトを作成すると各種ファイルが作成されます。
各ファイルの役割は以下のようになります。
__init__.py:[プロジェクト名]フォルダが Python のパッケージであることを証明する。
setting.py:Django プロジェクトの様々な設定を記述する。
manage.py:django-adminコマンドを使用する際のショートカットスクリプト。
urls.py:ルーティングについて記述する。
asgi.py、wsgi.py:非同期処理の実装などで使うファイル。
開発用サーバーを立ち上げる
プロジェクトが作成できたら開発用サーバを立ち上げてみます。
以下のコマンドを実行するとサーバーを起動することができます。
コマンドを実行したら、http://127.0.0.1:8000/ よりトップページにアクセスできます。
トップページにアクセスできたら立ち上げ成功です。
以下のコマンドを実行するとサーバーを起動することができます。
$ python3 manage.py runserver
コマンドを実行したら、http://127.0.0.1:8000/ よりトップページにアクセスできます。
トップページにアクセスできたら立ち上げ成功です。
データベースをセットアップする
データベースの設定をsetting.py の以下の部分で確認してみます。
ENGINEは、使用するデータベースのエンジンを指定します。
Django のデフォルトは、sqlite3 が指定されています。
NAMEは、参照するファイルを指定します。
Djangoではデータベースの作成や変更を加える際に、マイグレーションという機能を利用します。
マイグレーションはDjango がモデルの変更を保存する方法です。Django には、マイグレーションを開発者の代わりに実行し、自動でデータベーススキーマを管理するためのコマンドがあります。これは migrate と呼ばれるコマンドです。
Django ではデータベースの定義にどのような変更があったのかを表すマイグレーションファイルを生成します。
manage.py migrateコマンドを実行することで、これらのマイグレーションファイルをデータベースに反映させる事ができます。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
ENGINEは、使用するデータベースのエンジンを指定します。
Django のデフォルトは、sqlite3 が指定されています。
NAMEは、参照するファイルを指定します。
Djangoではデータベースの作成や変更を加える際に、マイグレーションという機能を利用します。
マイグレーションはDjango がモデルの変更を保存する方法です。Django には、マイグレーションを開発者の代わりに実行し、自動でデータベーススキーマを管理するためのコマンドがあります。これは migrate と呼ばれるコマンドです。
Django ではデータベースの定義にどのような変更があったのかを表すマイグレーションファイルを生成します。
manage.py migrateコマンドを実行することで、これらのマイグレーションファイルをデータベースに反映させる事ができます。
$ python3 manage.py migrate
まとめ
今回の記事では、PythonベースのフレームワークであるDjangoを使った開発の始め方についてご紹介してきました。
Pythonの特徴である記述がシンプルである点を活かして、より短いコードで開発を進めていきたい方におすすめです。
Pythonの特徴である記述がシンプルである点を活かして、より短いコードで開発を進めていきたい方におすすめです。