Django(ジャンゴ)の特徴や使うメリットがよくわからない……
Django(ジャンゴ)の使い方も知りたいけど、良い情報ないかなぁ……
Django(ジャンゴ)について調べていても学習者向けの記事しかなく、わかりやすく説明しているものが少ないと感じませんか?あまり知られていないDjangoは、初心者向けの情報が少ないんですよね。
DjangoとはPythonでWebアプリを開発する際に使うWebフレームワークというものです。
今回は、Pythonで注目されているWebフレームワークのDjangoについて、初心者にも分かるように専門用語はなるべく使わずに説明していきます!
この記事を読んでいただければ、初心者でもWebフレームワークやDjangoについて理解できるようになりますよ!
PythonのDjango(ジャンゴ)について知る前に
PythonのWebフレームワークを使うためには、まずPythonとWebフレームワークについて知っておかなければなりません。
そこで、Djangoの紹介をする前に前提として、PythonとWebフレームワークについて解説します。
Pythonとは
Pythonは世界で注目されている人気のプログラミング言語のひとつです。
特に人工知能で使われている技術の機械学習が注目されてから、科学、教育、ゲーム、データ解析などの様々な分野で活用されています。日本でもPythonの仕事も増えてきており、これからも間違いなく伸びていくでしょう。
Webフレームワークとは
Webフレームワークとは、Webアプリ開発をする際に、開発の効率を上げるために便利な機能がたくさん詰まったツールです。
そもそも、フレームワークが様々なシステムの開発を効率化してくれる機能の集まりのことで、そのWeb版ととらえてよいでしょう。
現代の開発では、他社との競争に伴って開発のスピードが求められています。このことからアプリ開発の効率を上げることができるフレームワークの利用はもはや当たり前となっています。
PythonのWebフレームワークはDjango以外にも他に種類があるので次の記事も合わせてご覧いただくといいでしょう。

PythonのDjangoとは
Djangoとは、Pythonで作られているWebフレームワークです。
Djangoを使うことで、高品質なWebアプリケーションを簡単に、少ないコードで作成することができます。シンプルなWebアプリであれば、数分で作ってしまうことも可能です。
また、DjangoではInstagramやPinterestなどのよく知られたWebアプリでも動いています。
PythonのDjangoの特徴
全部入り
Webアプリ開発でよく使われる、「ユーザー認証」「管理画面」「サイトの案内ぺージ」「RSSフィード」など、よく使われる機能はあらかじめ含まれています。
セキュリティが安心
たくさんの共通する脅威に対して対策が施されています。ユーザー認証システムでは、ユーザーのアカウントとパスワードを安全に管理する方法が提供されてします。
拡張性、柔軟性が高い
Djangoで扱う各ファイルは役割が決まっており、別々に切り分けて開発を行うことができます。
よって、それぞれ部品の独立性が高く、拡張することが容易になっています。どんな規模のWEBアプリでも、柔軟に対応できるのです。
用途が広い
Djangoは、会社や組織、そして政府にも利用されています。管理システム、ソーシャルネットワーク、科学技術計算など幅広い用途に対応しています。
PythonのDjangoのメリット
生産性が高く、信頼できる
開発スピードは、「締め切りの味方である完全主義者」のモチーフが掲げられているほどです。アプリ開発ではスケージュル通りにいかず遅れてしまうことも多いのですが、Djangoは締め切りに間に合わせる完全主義者を謳っています。
また、オープンソースなので、世界中の開発者によって日々盛んに改良されており、どんどん使いやすくなっています。先程解説した、InstagramやPinterestもDjangoで作られているので、信頼性についても安心して使うことが出来ます。
実用性が高い
現在の開発方法に合致しており、非常に実用的です。Webアプリを新しく開発する際には、まずはじめに「開発にはどれぐらいの期間がかかりそうか」などの情報を得るために、模型を作って試験を行うことが多いです。
この模型を作って試験を行うことをプロトタイプといいます。Djangoはこのプロトタイプを作ることが簡単なので、開発期間を短くすることができるのです。
PythonのDjangoのインストール
Djangoについての概要を知れたところで、ここからは実際にDjangoをインストールしてみましょう!Djangoのインストール前に、まずはPythonの環境を確認する必要があります。Pythonのバージョン確認はこちらのコマンドを実行します。
python -V
2018年現在のPythonの最新版はバージョン3.6.3になります。基本的にPythonが入っていれば大丈夫ですが、古いバージョンではサポートが終了されていることもありますので、できるだけ最新バージョンを入れておきましょう。
Djangoのインストールについては、こちらの記事で詳しく解説しています!

※バージョン情報が表示されない場合はPythonがインストールされていない可能性がありますので、こちらの記事を参考にインストールしてください。

【超入門】PythonのDjangoをまずは使ってみよう
ここからは、Djangoを実際に使ってページを作る手順を、以下の流れで解説します。
- 1.Djangoのインストール確認
- 2.Djangoの新規プロジェクト作成・画面の確認
- 3.設定を変更
- 4.新しいページの作成
1つずつ見ていきましょう。
手順1:Djangoのインストール確認
まずは以下のコマンドを実行して、Djangoのインストールができているか確認してみましょう。
コマンド:
python import django print(django.get_version())
正しくインストールされていると、以下のようにバージョンが表示されます。
実行画面:
(この例では、3.0.7がバージョンです)
これで確認はOKです!「exit()」コマンドを実行して、いったん閉じましょう。
手順2:Djangoの新規プロジェクト作成・画面の確認
次に、Djangoで新規プロジェクトを作成します。以下のコマンドを実行して、作成しましょう。
コマンド:
django-admin startproject testPj
この例では、「testPj」という名前のプロジェクトを作成しています。コマンドを実行すると、以下のように「testPj」フォルダが作成されます。
無事に作成できたか確認するために、一度実行して確認してみましょう。実行するときは、作成したプロジェクトフォルダに移動してから、コマンドを実行します。
cdコマンドで移動:
cd testPj
Djangoプロジェクトを実行:
python manage.py runserver
コマンド実行のイメージ:
上記のようにURLが表示されるので、ブラウザ貼り付けてみましょう。以下のような画面が表示されれば、Djangoでプロジェクト作成ができています。
手順3:設定を変更
ここからは、新しいページを作る手順を解説します。まずは、プロジェクトフォルダに「templates」フォルダを新しく作りましょう。
「templates」フォルダは、HTMLファイルを置くところです。
ちなみにここではtemplatesフォルダのみ作っていますが、画像やCSS(デザインファイル)をおく「static」ファイルを作るのが、一般的です。実際に開発するときは、staticフォルダも作りましょう。
作成できたら、設定ファイルを更新していきましょう。設定ファイルは「settings.py」です。
testPj/testPjの下にあります。まずは言語とタイムゾーンを、変更していきましょう。
変更内容:
LANGUAGE_CODE = 'ja' TIME_ZONE = 'Asia/Tokyo'
変更箇所:
次に、先ほど作成したtemplatesフォルダを、HTMLファイルを置く場所に指定します。
変更内容:
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ os.path.join(BASE_DIR, 'templates'), ], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
変更箇所:
これで、設定はOKです。
手順4:新しいページの作成
次に、新しいページを作成していきましょう。今回は、「test.py」ファイルを作成し、以下のコードを入力してください。
新しいページの作成場所:
サンプルコード:
from django.shortcuts import render def test(request): return render(request, 'test.html')
ここでは、「test.pyファイルが実行されたら、『test.html』を開いてください!」といった内容のコードを書いています。次に、「http://localhost:8000/test/」のURLを開いたときに、「test.py」が実行される設定をしていきましょう。
URLを開いたときに実行される処理は、「urls.py」で管理しています。「urls.py」を開いて、以下のように追記しましょう。
urls.pyの修正後のコード:
from django.contrib import admin from django.urls import path from . import test urlpatterns = [ path('admin/', admin.site.urls), path('test/', test.test, name='test'), ]
変更できたら、HTMLファイルを作成しましょう。templatesフォルダに「test.html」ファイルを作成し、以下のようなサンプルコードを入力します。
test.htmlの場所:
「test.html」ファイルのサンプルコード:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>はじめてのDjangoアプリ</title> </head> <body> <h1>Djangoで新しいページ作成</h1> </body> </html>
入力したら、保存します。保存できたので、コマンドプロンプトを開いて再度実行してみましょう。
実行のコード:
python manage.py runserver
実行後の画面:
表示されているURLに「/test/」を付けたURL(ここでは「http://localhost:8000/test/」)をつかって、ブラウザで開いてみましょう。次のように画面が表示されれば、OKです。
これで、新しいページを作ることができました。このように、簡単にページを作ることができます。
ただ、Djangoには色々覚えておくと便利な考え方や、使い方が多いです。まずは以下を見つつ、基礎的な使い方を覚えていきましょう。
Djangoを使いこなすために知っておくべき知識とは?
Djangoで本格的にWeb開発をするときは、以下のような知識も必要となってきます。
- 管理サイト
- データベース
それぞれどんなものが作れて、なぜ必要なのか詳しく解説します。
管理サイト
1つ目は、管理サイトです。Webアプリを開発するときは、ユーザーが使う画面以外に、データを管理する画面「管理サイト」を作ります。
「でも、データの管理ならプログラムやデータベースを直接操作しても、変更できるのでは?」と思った方もいるかもしれませんね。
管理サイトを用意する理由は、アプリを運営する管理者が、必ずしもプログラミングに詳しいとは限らないからです。プログラミングがわからない人でもデータを管理できるよう、専用の画面を用意するイメージです。
Djangoでは、管理サイトを作りやすくするための機能があります。以下で詳しく解説しているので、ぜひ参考にしてみてくださいね。

データベース操作
2つ目は、データベース操作です。アプリ開発をする上では、データを扱うことは必須となります。
そしてデータを扱うときは、データベースを使うのが一般的です。そのため、データベースの操作についても、覚えておきましょう。
データベースそのものの意味については、以下で詳しく解説しているので参考にしてみてください。

Djangoでデータベース操作する基本については、以下で詳しく解説しています。データベースの基礎を見てから、手を動かしながらコードを書いてみるのがおすすめです!

挫折なくDjangoを学ぶなら
Djangoの特徴や活用するメリットを知り「学んでみようかな」と興味が湧いてきた方のなかには
独学で習得できるかな…
途中で挫折したらどうしよう…
と不安な方もいますよね。
実のところ、Djangoといったプログラミング学習で挫折する独学者は多くいます。事実、弊社の調査では
- 不明点を聞ける環境になかった
- エラーが解決できなかった
- モチベーションが続かなかった
などの理由から、87.5%が「プログラミング学習で挫折や行き詰まりを感じた」と回答しています。


調査概要:プログラミング学習の挫折に関するアンケート
調査対象:10代〜80代の男女298名
調査期間:2019年8月13日~8月20日
調査方法:インターネット調査
掲載元:PR TIMES
また、こうした背景もあってか、弊社がプログラミングに興味がある人100名へ実施した別の調査では
- 確実にスキルを身につけられると思ったから
- 独学では不安がある
- 効率よく学べそう
などの理由から、61%が「プログラミングの勉強を始めるならスクールを選ぶ」と回答しています。


調査概要:プログラミングに興味がある方の意識調査
調査期間:2021/11/19~2021/12/3
対象者:プログラミング学習を検討している10代~50代の男女100名
調査媒体:クラウドワークス
掲載元:PR TIMES
加えて、プログラミングスクールの卒業生に「独学ではなくスクールを活用した理由」を聞いたところ「できるだけ短い期間でITエンジニアへの転職や副業に必要なスキルを身につけたかった」という回答も多く寄せられました。
上記から、1人でプログラミングスキルを習得できるか不安な人や短期間でスキルを習得したい人ほど確実性を求め、現役エンジニアといったプロの講師に質問できるプログラミングスクールを利用する傾向にあるのがわかります。
いざ独学でプログラミングを学び始めても、勉強の最中に挫折しまっては学習にかけた時間を悔やむだけでなく「プログラミングスキルを身につけるのって思っていたよりも難しいんだな…」とDjangoの習得自体を諦めかねません。
仮にわからないことを飛ばしながら勉強を進めたとしても、ITエンジニアへの転職や副業での収入獲得を実現できる実践的なスキルが身につかなければ、結局後悔することになります。
そこで、おすすめしたいのが「SAMURAI ENGINEER(侍エンジニア)」です。
料金 | 月分割4.098円~ |
実績 | ・累計指導実績4万5,000名以上 ・受講生の学習完了率98% ・受講生の転職成功率99% |
侍エンジニアをおすすめする最大の理由は「挫折しづらい学習環境」にあります。
先ほど述べたとおり、独学者の多くは自力で不明点やエラーを解決できないためにプログラミング学習を挫折しています。そのため、未経験者が現役エンジニアのようなプロに質問や相談できない状況で、プログラミングスキルを習得するのは非常に難易度が高いといえます。
しかし、侍エンジニアでは
- 現役エンジニア講師によるマンツーマンレッスン
- 現役エンジニアに質問できるオンラインでのQ&Aサービス
- 不安や悩み・勉強の進み具合を相談できる学習コーチ
といったサポート体制を整えているため、学習中に出てきたわからないことや不明点をいつでも相談可能です。「受講生の学習完了率98%」「転職成功率99%」という実績からも、侍エンジニアなら挫折しづらい環境でプログラミング学習を進められるといえます。
また、侍エンジニアではカウンセリングにて受講生一人ひとりの目的をヒアリングしたうえでカリキュラムを作成するため、限られた受講期間でもITエンジニアへの転職や副業での収入獲得に必要なスキルだけを効率的に習得可能です。
最短距離で目的を実現できるようカリキュラムが組まれているため、勉強する順番や内容を誤り非効率に時間や手間を費やす心配もありません。
なお、ITエンジニアへの転職を見据えPythonやDjangoを学びたい人は受講料の最大70%が給付される「Webエンジニア転職保証コース」や「AIアプリコース」がおすすめです。金銭面での支援を受けつつ、PythonやDjangoの習得から転職活動・就業後のフォローアップ(※1)までを一貫してサポートしてもらえます。
※1:転職後の1年間、転職先での継続的な就業や転職に伴う賃金上昇などのフォローアップ
学習と金銭面をどちらもサポートしてくれる侍エンジニアなら、未経験からでも安心してPythonやDjangoを習得できますよ。
公式サイトで詳細を見るまとめ
いかがでしたでしょうか?Djangoは非常に有用なWebフレームワークです。使う前には、やはりどんな特徴があるか知ってから学習に入るべきですよね。
今回は、これらのことについて初心者の方でも分かるように専門用語はなるべく使わずに説明させていただきました!
- Pythonとは何か
- Djangoとは何か
- Djangoの特徴とメリット
- Djangoのインストール方法
- Djangoで新しいページを作って動かす方法
- Djangoを使いこなすために知っておくべき知識
この記事であなたも今日からDjangoの学習を取り組むことができます。少しでも興味が湧いてきたのであれば、Django学習の第一歩を踏み出してみては?
ということで、お読みいただきありがとうございました!少しでもあなたの学習のキッカケになってくれれば嬉しいです。
挫折せず目的を達成するなら
専属マンツーマンレッスンの侍エンジニア

プログラミング学習の挫折率は約90%と言われています。学習を成功させるには、モチベーションを維持して成長を実感できる環境が必要です。
侍エンジニアなら「現役エンジニア講師」、「学習コーチ」、「Q&A掲示板」トリプルサポート体制であなたの学習をサポートするほか、オーダーメイドカリキュラムで必要なことだけを学べるため、さまざまなランキングでNo1という実績を挙げています。
挫折せず最短でプログラミングを習得したいなら侍エンジニアがおすすめです!