スライドショースライドショースライドショー

【Python入門】Djangoとは?基礎知識 + 使い方を解説!


Django(ジャンゴ)の特徴や使うメリットがよくわからない......
Django(ジャンゴ)の使い方も知りたいけど、良い情報ないかなぁ......

Django(ジャンゴ)について調べていても学習者向けの記事しかなく、わかりやすく説明しているものが少ないと感じませんか?あまり知られていないDjangoは、初心者向けの情報が少ないんですよね。

DjangoとはPythonでWebアプリを開発する際に使うWebフレームワークというものです。

今回は、Pythonで注目されているWebフレームワークのDjangoについて、初心者にも分かるように専門用語はなるべく使わずに説明していきます!

この記事を読んでいただければ、初心者でもWebフレームワークやDjangoについて理解できるようになりますよ!

PythonのDjango(ジャンゴ)について知る前に

PythonのWebフレームワークを使うためには、まずPythonとWebフレームワークについて知っておかなければなりません。

そこで、Djangoの紹介をする前に前提として、PythonとWebフレームワークについて解説します。

Pythonとは


引用元:Python公式サイト http://www.python.jp/

Pythonは世界で注目されている人気のプログラミング言語のひとつです。

特に人工知能で使われている技術の機械学習が注目されてから、科学、教育、ゲーム、データ解析などの様々な分野で活用されています。日本でもPythonの仕事も増えてきており、これからも間違いなく伸びていくでしょう。

Pythonに関してはこちらの記事を読んでいただければ、特徴をつかむことができます。

Pythonとは?特徴やメリット・勉強法を解説【初心者向け】
更新日 : 2020年8月27日

Webフレームワークとは

Webフレームワークとは、Webアプリ開発をする際に、開発の効率を上げるために便利な機能がたくさん詰まったツールです。

そもそも、フレームワークが様々なシステムの開発を効率化してくれる機能の集まりのことで、そのWeb版ととらえてよいでしょう。

現代の開発では、他社との競争に伴って開発のスピードが求められています。このことからアプリ開発の効率を上げることができるフレームワークの利用はもはや当たり前となっています。

PythonのWebフレームワークはDjango以外にも他に種類があるので次の記事も合わせてご覧いただくといいでしょう。

アプリ開発を100倍効率化!独学初心者が最初に知るべき仕組み3選
更新日 : 2020年4月27日

PythonのDjangoとは


引用元:Django公式サイト https://www.djangoproject.com/ 

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のインストールについては、こちらの記事で詳しく解説しています!

【Django入門】あなたのパソコンにDjangoをインストール!
更新日 : 2019年1月29日

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

Pythonのインストール方法をOS別に解説(Windows・Mac・Linux)
更新日 : 2020年8月19日

【超入門】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」フォルダが作成されます。


testPjフォルダが作成されるイメージ

無事に作成できたか確認するために、一度実行して確認してみましょう。実行するときは、作成したプロジェクトフォルダに移動してから、コマンドを実行します。

cdコマンドで移動:

cd testPj

Djangoプロジェクトを実行:

python manage.py runserver

コマンド実行のイメージ:

コマンドの実行イメージ

上記のようにURLが表示されるので、ブラウザ貼り付けてみましょう。以下のような画面が表示されれば、Djangoでプロジェクト作成ができています。


Djangoの初期ページの表示イメージ

手順3:設定を変更

ここからは、新しいページを作る手順を解説します。まずは、プロジェクトフォルダに「templates」フォルダを新しく作りましょう。

「templates」フォルダは、HTMLファイルを置くところです。


templatesフォルダの作成場所

ちなみにここでは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の場所

「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入門】templateとHTMLを使ってWebページを表示しよう
更新日 : 2020年3月9日

【Django入門】viewsを使ってページを表示させよう
更新日 : 2020年3月9日

Djangoを使いこなすために知っておくべき知識とは?

Djangoで本格的にWeb開発をするときは、以下のような知識も必要となってきます。

  • 管理サイト
  • データベース


それぞれどんなものが作れて、なぜ必要なのか詳しく解説します。

管理サイト

1つ目は、管理サイトです。Webアプリを開発するときは、ユーザーが使う画面以外に、データを管理する画面「管理サイト」を作ります

「でも、データの管理ならプログラムやデータベースを直接操作しても、変更できるのでは?」と思った方もいるかもしれませんね。

管理サイトを用意する理由は、アプリを運営する管理者が、必ずしもプログラミングに詳しいとは限らないからです。プログラミングがわからない人でもデータを管理できるよう、専用の画面を用意するイメージです。

Djangoでは、管理サイトを作りやすくするための機能があります。以下で詳しく解説しているので、ぜひ参考にしてみてくださいね。

【Django入門】adminサイトの作り方からカスタマイズまで!
更新日 : 2020年3月9日

データベース操作

2つ目は、データベース操作です。アプリ開発をする上では、データを扱うことは必須となります。

そしてデータを扱うときは、データベースを使うのが一般的です。そのため、データベースの操作についても、覚えておきましょう。

データベースそのものの意味については、以下で詳しく解説しているので参考にしてみてください。

いまさら聞けないデータベースとは?〜基礎の基礎を学ぼう〜
更新日 : 2020年8月18日

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

【Django入門】Databaseの使い方
更新日 : 2018年3月8日

まとめ

いかがでしたでしょうか?Djangoは非常に有用なWebフレームワークです。使う前には、やはりどんな特徴があるか知ってから学習に入るべきですよね。

今回は、これらのことについて初心者の方でも分かるように専門用語はなるべく使わずに説明させていただきました!

  • Pythonとは何か
  • Djangoとは何か
  • Djangoの特徴とメリット
  • Djangoのインストール方法
  • Djangoで新しいページを作って動かす方法
  • Djangoを使いこなすために知っておくべき知識

この記事であなたも今日からDjangoの学習を取り組むことができます。少しでも興味が湧いてきたのであれば、Django学習の第一歩を踏み出してみては?

ということで、お読みいただきありがとうございました!少しでもあなたの学習のキッカケになってくれれば嬉しいです。

LINEで送る
Pocket

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら