PythonのWebアプリケーションフレームワーク「Django」を試してみた

普段のお仕事に役立つ普遍的なプログラミングTIPSや、業界で注目度が高い最新情報をお届けする「編集部ピックアップ」。
今回はPythonのWebアプリケーションフレームワーク「Django」についてお届けします。

Pythonは近年人気な言語の一つで、開発に利用される場面も多くなっています。そんなPythonでWebアプリケーションを開発するためのフレームワークの一つに「Django(ジャンゴ)」というものがあります。今回はパワフルなフレームワークであるDjangoについてご紹介します。

Djangoとは

DjangoはWebアプリケーションを早く簡単に開発できるフレームワークです。

Pythonには複数のWebアプリケーションフレームワークが存在していますが、Djangoはその中でも最も高レベルのフレームワークです。3条項BSDライセンスのオープンソースのフレームワークであり、商用での利用も可能です。

Webアプリケーションを開発する際には、ルーティングなどの共通した処理を実装する必要がありますが、これをWebアプリを開発する度に毎回実装していては、開発にかかる時間やコストが大きくなってしまいます。

Djangoはそのように必要な共通の処理をフレームワークとして提供することで、車輪の再発明をすることなく開発に集中することができます。

Djangoで作れるアプリ

世界的に有名なアプリケーションの中にもDjangoを使ったものが多く、一例をあげるとYouTubeやDropbox、Instagramなどが挙げられます。これらの例からも分かる通り様々な種類や利用用途のアプリケーションの開発が可能であることが分かるでしょう。

また、最近では機械学習があらゆる事業で利用されるようになっています。Pythonは機械学習でよく使われる言語でもあり、それらの機械学習の機能を比較的簡単にアプリケーションに統合できるという意味からも使い勝手が良く好んで使われることが多いです。

使ってみよう!Djangoクイックスタート

Djangoの利用は非常に簡単です。以下の手順でセットアップしてみましょう。

Djangoのインストール

DjangoはPythonの利用環境があれば簡単に利用することが可能です。Pythonのインストール方法はOSごとに異なりますので、以下などを参考にインストールを行ってください。

ただし、Pythonは3.4以上のバージョンであることが推奨されています。Python2系はDjango2.0以上のバージョンでは利用できなくなっているため、使用しないことをお勧めします。

現在のDjangoの最新バージョンは3.1.3となっており、セキュリティや利便性の観点からなるべく新しいバージョンを利用するようにしましょう。

ここからはDjangoをインストールしてみましょう。今回の実行環境のバージョン情報は以下の通りです。

> python -V
Python 3.6.10
> pip -V
pip 20.2.4

Djangoをインストールする際は、以下のようにpipを利用してインストールするのが簡単です。

pip3 install django

以下のようなログが出力されればインストール成功です。よくみてみると、django-3.1.2の他にasgiref-3.2.10、pytz-2020.1、sqlparse-0.4.1も一緒にインストールされています。

Collecting django
Downloading Django-3.1.3-py3-none-any.whl (7.8 MB)
|████████████████████████████████| 7.8 MB 5.5 MB/s
Collecting asgiref~=3.2.10
Downloading asgiref-3.2.10-py3-none-any.whl (19 kB)
Collecting sqlparse>=0.2.2
Downloading sqlparse-0.4.1-py3-none-any.whl (42 kB)
|████████████████████████████████| 42 kB 2.0 MB/s
Collecting pytz
Downloading pytz-2020.1-py2.py3-none-any.whl (510 kB)
|████████████████████████████████| 510 kB 9.1 MB/s
Installing collected packages: asgiref, sqlparse, pytz, django
Successfully installed asgiref-3.2.10 django-3.1.3 pytz-2020.1 sqlparse-0.4.1

さて、Djangoがちゃんとインストールして使える状態かを確認しましょう。まずテスト用のプロジェクトtestpjを作成するディレクトリを作成してそこに移動しましょう。

> mkdir testpj
> cd testpj

testpjディレクトリ内でテスト用のスケルトンサイトを作成します。ここでは、django-adminというツールを利用します。Djangoをインストールできていればすぐに利用することができます。以下のコマンドを実行するとsampleというディレクトリが作成されます。django-adminはDjangoで各種管理タスクを実行するためのコマンドで、今回のようにWebサーバーを立ち上げるだけでなく様々な場面で利用されます。

> django-admin startproject sample

上記のコマンドで作成されたsampleディレクトリに入ると、ディレクトリの中にmanage.pyというファイルとtestディレクトリが生成されています。

> cd sample
> ls
manage.py  sample

最後にこのmanage.pyを利用して以下のコマンドを実行します。なお、このコマンドはWebサーバーを立ち上げるためのコマンドです。

> python manage.py runserver

以下のログが出力されれば、正常に開発用のWebサーバーが実行されています。

Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 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.
November 06, 2020 - 17:38:45
Django version 3.1.3, using settings 'sample.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

ここでログに以下のようなメッセージが出力されていますが、最初の立ち上げ時は特に意識しなくても大丈夫です。

You have 18 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.

ここまでのログが確認できたら、ブラウザでhttp://127.0.0.1:8000/ にアクセスしましょう。以下のような画面が表示されたら成功です。

Djangoの動作確認

おわりに

今回の記事では、Djangoの概要や、環境構築の方法についてご説明しました。なお、グレープシティではDjangoをはじめとした、様々なWebアプリケーションフレームワークと一緒に使えるJavaScriptライブラリを提供しています。

これらの製品とDjangoを一緒に使う方法については、また別の機会にご紹介させていただきたいと思います。

\  この記事をシェアする  /