Djangoとは?特徴や人気度、インストール方法もわかりやすく解説

Pythonは機械学習やディープラーニング、データ分析などの分野で近年人気が高いプログラミング言語の一つです。
PythonでWebアプリケーションを作成する際のフレームワークとして人気なのが、「Django」です。
この記事では、これからDjangoを使い始めたいという方に向けて、基本情報から人気度、メリット・デメリット、インストール方法を解説します。
Djangoの概要
はじめに、Djangoの基本情報や人気度について説明します。
Djangoの基本情報
Djangoとは、「ジャンゴソフトウェア財団」によって管理されているPythonのフレームワークで、2005年にオープンソースで公開されました。
名前はフランスのジャズバンド「ジプシー・スウィング」のギタリスト、ジャンゴ・ラインハルトに由来しています。
現在(2022年4月)ではバージョンアップを重ね、バージョン3.2までリリースされています。
Djangoの人気度
Djangoはどの程度使用されているのでしょうか。まずはDjangoの使用言語であるPythonの注目度を「Google Trend」を用いてみてみましょう。以下は、「Python」「Ruby」「Java」「PHP」「C」の過去一年(2021年2月21日〜2022年2月21日)の検索頻度のグラフです。

Python | 62 |
Ruby | 7 |
Java | 70 |
PHP | 28 |
C | 54 |
当該期間において、「Python」は「Java」に続く2位の注目度であることが分かります。 さらに、「Python」のフレームワークの注目度を「Google Trends」で比較した結果が以下です。

Django | 89 |
Flask | 43 |
Tornade | 0 |
Bottle | 8 |
「Django」の人気は、Pythonのフレームワークの中でも安定して1位です。人気の理由としては、Web上にチュートリアルが充実しているため、初心者でも始めやすいということが考えられます。
次に、Python開発者の中でのフレームワークの使用度も見てみましょう。

Pythonの中での使用頻度の高いフレームワークでは、DjangoはFlaskに続く2位です。PythonでのWebアプリケーション開発では、Flaskとともによく使用されているフレームワークであることが分かります。
実際にDjangoを使用しているサービスはYoutube、Spotify、Dropbox、Instagram、Quoraなどが挙げられます。SNSサービスから、動画共有サービスまで比較的大きなサービスを提供できることが魅力です。
Djangoの特徴、強み
Djangoの基本情報や人気度について説明しました。それでは、Djangoにはどのような特徴があるのでしょうか。ここでは、Djangoの特徴とできること、メリットデメリットを説明します。
Djangoの特徴
Djangoには、下記のような特徴があります。
フルスタックフレームワーク
Djangoはフルスタックなフレームワークです。フルスタックとは、Webシステム開発に必要な機能がほとんど用意されているものです。
ユーザインターフェース・セキュリティ・データベースなどが実現されているため、ビジネスロジックの開発に集中でき、大規模な開発に向いています。
開発が早い
Djangoは、プロトタイプの開発が早いことも特徴です。DjangoではWebアプリケーションによくある機能はすぐに作成できるため、開発をする際は他の重視したい機能に注力でき、素早い開発を行えます。
MVTモデル
DjangoはMVTモデルを採用しています。MVTとは、「Model」「View」「Template」のことです。「Model」ではデータベースのカラム設定を記述します。
「View」はWebからのリクエストの処理やデータベース情報の更新を行い、データの受け渡しを行います。「Template」ではHTMLなどを用いて、Viewから渡されたデータをどのように表示するかの記述をします。ちなみに、他の言語では主にMVCモデルが採用されています。
Djangoでできること
次に、Djangoの機能でできることを紹介します。
管理画面の作成
Djangoはフルスタックフレームワークのため、はじめから管理者用の管理画面が備わっています。画面を作成したり複雑な開発をする必要はありません。
ユーザ認証
フルスタックのフレームワークのため、ユーザ認証機能も備わっています。また、セキュリティ面も考慮されており、セクション情報の配置やパスワードの保存方法が強化されています。さらに、配布されているパッケージを利用すればソーシャルログインまで簡単に実装することが可能です。
サイトマップ
サイトマップも、フルスタックフレームワークに含まれる機能の一部です。規模が大きくなるにつれ、サイト案内を作るのは大変ですが、Djangoなら素早くサイトマップを作ることができます。
RSSフィード
Djangoには、RSSフィードを作成する機能も備わっています。RSSフィードとは、お気に入りのWebサイトの最新情報を入手できる方法で、ブログなどを更新することで通知を出すことができる機能です。
Djangoのメリットとデメリット
フルスタックのフレームワークであるDjangoですが、もちろんデメリットもあります。メリットとデメリットについて説明します。
メリット
MVTモデルでのアプリ開発が可能
DjangoはMVTモデルのフレームワークのため、処理はViewで記述する、データベース関連はModelで記述する、などコード記述のすみ分けができることがメリットです。第三者から見ても、どこに何の処理が記載されているか分かりやすいでしょう。
情報が多く学びやすい
Djangoはインターネット上に情報が多く、学びやすいこともメリットです。前述したように、Pythonは人気度が高く、その中でもDjangoは利用度が高いため、ネット上に情報が公開されやすいフレームワークです。日本語に訳されている情報も多いため、初心者でも安心して学べるでしょう。
デメリット
処理速度が遅い
Djangoは機能が多い分、処理速度がやや遅いことがデメリットの一つです。処理速度を優先する場合は、他のマイクロフレームワークを使用すると良いでしょう。
全ての機能を把握し、使えるまでに時間がかかる
Djangoはフルスタックのフレームワークのため、全ての機能を把握して使用できるまでに時間がかかることもデメリットです。経験がある人にとっては使いやすいかもしれませんが、初心者にとっては覚えるまでに時間を要すことがあります。
Djangoの使い方
ここからはDjangoの使い方について説明していきます。
Djangoでの開発手順
Djangoのインストール
Djangoのインストールの前に、まずはインストールされているPythonのバージョンを確認しましょう。Pythonのバージョンを確認するには、コマンドプロンプト(Windouws)かターミナル(Mac)で「python -V」と入力します。
$ python -V
Python 3.x.x
ここでPythonのバージョンが「3.x.x」であることを確認しましょう。Pythonのバージョンが「2.x.x」の場合は、サポートが終了しているので、新しいバージョンのインストールをおすすめします。Djangoのインストールは、ターミナルで以下のように入力します。
$ pip install django
これでDjangoのインストールは完了です。 必要であれば、仮想環境も準備しましょう。Djangoでプロジェクトを作成
プロジェクトを作成します。ターミナルで以下のように入力しましょう。
$ django-admin startproject mysite
今のフォルダの配下に「mysite」というフォルダが作成され、プロジェクトが作成されました。Djangoで開発用サーバを起動
先ほど作成した、mysiteのフォルダ配下に移動します。
$ cd mysite
この場所で、Djangoアプリを起動しましょう。作成したアプリは、PCの開発用サーバ上で動きます。$ python manage.py runserver
「http://127.0.0.1:8000/」にアクセスしてみましょう。以下のような画面が出たら正しくプロジェクトが作成されています。
Djangoと関連する知識やツール
次に、Djangoで開発する時に役立つ知識を紹介します。
Python
Pythonは1991年にオランダ人によって開発された、オープンソースの開発言語です。さまざまな用途で使用され、組み込み開発やWebアプリケーション・ディープラーニングやビッグデータの解析に使用されます。
特徴は、少ないコードで簡潔にプログラムをかけることと、ライブラリが豊富にあることです。
ライブラリ
ライブラリとは、開発に便利なプログラムの塊です。ライブラリを使用し、プログラムに組み込むことでやりたいことを実現することができます。例えば、Pythonであれば画像認識ライブラリや数値計算・形態素解析のライブラリなどが豊富で機械学習に向いています。
DB(データベース)
データベースとは、決まった形式で整理されたデータの集まりのことです。膨大なデータを複数人で管理できるように、共有や検索ができる機能があります。
Webアプリケーションを作成する際は、大量の画像データやコメントなどを表示させることができるよう、データベースとの連携が必須です。データベースの命令言語である、SQL文を覚えておくのもおすすめです。
Docker
Dockerとは、Docker社が開発するコンテナのアプリケーション実行環境を管理するソフトウェアです。コンテナは、環境を他の環境から隔離して実行させる技術のことをいいます。
コンテナでインストールしたソフトウェアは他のコンテナではインストールされておらず、独立した環境を実現できます。簡単に開発環境を得られることから、開発現場で多用されています。
まとめ
Pythonの中でもDjangoは人気度が高く、利用度も高いフレームワークです。人気言語のPythonを用いてさらに開発の幅を広げたい方は、ぜひ参考にしてみてください。