Djangoの使い方【Pythonフレームワーク】

Djangoの使い方【Pythonフレームワーク】Django
ゆうすけ
ゆうすけ

Pythonでサクッとアプリケーションを作りたいです!

資格マフィア
資格マフィア

Djangoを使えば、手軽にPythonアプリケーションを作れるぞ。


✔️ 本記事のテーマ

Djangoを使うメリットとその使い方

 

✔️ 読者さんへの前置きメッセージ

本記事は「Django(Pythonフレームワーク)」について書いています。

 

この記事を読むことで「DjangoのメリットやDjangoでアプリケーションを作る方法」をイメージできるようになります。

 

DjangohはPython用のWebアプリケーションフレームワークです。

 

フレームワークを使うことで、手軽に高品質なアプリケーションを作ることができます。

 

Pythonフレームワークはたくさん出ていますが、Djangoはその中でも一番ユーザーが多いフレームワークです。

 

Pythonが得意なら、ぜひDjangoでアプリケーションを作ってみましょう。

 

Django(Pythonフレームワーク)とは?

Django(Pythonフレームワーク)とは?

Django(ジャンゴ)は、Python用のWebアプリケーションフレームワークです。

 

オープンソースとして公開されているので、無料で使うことができます。

 

Webアプリケーションフレームワークとは、Webアプリケーションを開発する際によく使われる機能がまとまったソフトウェアのことです。

 

個人開発でアプリケーションを作るときでも、Djangoを使うことで短い期間で、かつ、高品質なアプリケーションを完成させることができます。

 

最近では、Instagramなどでも採用されていることから、その注目度が高まっているフレームワークといえるでしょう。

 

また、Herokuと組み合わせることでより手軽にWebアプリを作ることができます。

 

DjangoとHerokuのくみわせかたについては
Django + Heroku のセットで無料でサービスを作る」の記事で解説しています。

 

Django(Pythonフレームワーク)の特徴

Django(Pythonフレームワーク)の特徴

DjangoにはWebアプリケーションを開発するための便利な特徴があります。

 

具体的に、Djangoの特徴は以下の5つです。

  • MTV設計という考え方
  • 必要な機能が一通り揃っている
  • セキュリティ的に安全な設計
  • 高速な動作
  • 学習のしやすさ


順番に、解説していきましょう

MTV設計という考え方

Djangoは「MTV」という設計思想に基づいて、作られています。

 

この設計思想は、
Model、Tenmplate、Viewという役割ごとに機能を分割するという考え方です。

 

これにより、Djangoを使うことで、機能ごとに独立したアプリケーションになるので、プログラムの保守性が向上します。

 

少し難しいかもしれませんが、MTV思想について完璧に理解していなくてもDjangoを使うことはできます。

 

「機能が分割されているので、プログラムを管理しやすくなっている」くらいの理解でOKです。

 

必要な機能が一通り揃っている

必要な機能が一通り揃っている

Djangoは、フルスタック・フレームワークと呼ばれるフレームワークです。

 

フルスタックとは、
Webアプリケーション開発に必要な機能が一通り揃っているという意味です。

 

Djangoは、Webアプリケーションには欠かせない、以下の機能をあらかじめ備えています。

  • ユーザー認証
  • 管理画面
  • サイト内検索
  • サイトマップ
  • RSSフィード

このように、便利な機能を豊富に具備しているので、
Django一つで開発〜運用まで行うことができます。

 

関連記事:DjangoでLogin機能を作る【サンプルコード付き】

セキュリティ的に安全な設計

セキュリティ的に安全な設計

Djangoを使うことで、
セキュリティが堅牢なアプリケーションを作ることができます。

 

Djangoは、セキュリティが高くなるような仕組みを採用しています。

 

例えば、セッション情報の非管理化やパスワードはハッシュ化などの設計が施されています。

 

セキュリティについては、専門家でないと中々考慮することができませんが、Djangoを使うことで一定のセキュリティレベルを担保できます。

 

他にも、Djnagoでは、SQLインジェクション、クロスサイトスクリプティング(XSS)、クロスサイトリクエストフォージェリ(CSRF)、クリックジャッキングなどの多くの攻撃手法に対して、対策を取っています。

 

先にも述べたとおり、有名企業が採用していることからもセキュリティの高さが分かりますね。

高速な動作

高速な動作

Djnagoでは、キャッシュ機能を使って、画面表示を高速化することができます。

 

Djangoでは、Memcahcedというキャッシュを保存する場所をあらかじめ用意されています。

 

その他の保存先としてファイルや、データベースを使うこともできます。

 

Webアプリケーションでは、SEOやユーザビリティの面でも、速度が非常に重要となってきます。

 

Djangoを使うことで、他のサービスを使わずとも、標準機能で高速化できるのは嬉しいですね。

学習のしやすさ

学習のしやすさ

Django特徴の一つが学習がしやすいということも挙げることが出来るでしょう。

 

Djangoは公式で、学習のためのチュートリアル「Django Girls」が用意されています。

 

また、ユーザー数も多いフレームワークなので、
エラーが発生した時も解決ページがヒットする確率が高いです。

 

Django(Pythonフレームワーク)の使い方

Django(Pythonフレームワーク)の使い方

Djangoは、使うための準備が簡略化されているので、手軽に使用することができます。

 

具体的な手順としては以下の通りです。

  • インストール
  • プロジェクトを作成する
  • 言語とタイムゾーンの設定
  • データベースのマイグレート
  • スーパーユーザーの作成
  • 開発サーバーを起動する

順番に、解説していきましょう。

イントールする

以下のコマンドでDjangoライブラリをインストールします。

$ pip install django

プロジェクトを作成する

まず、Djangoで作成するアプリケーションのためのプロジェクトを作成します。

 

任意の場所で以下のコマンドを実行すると、Djangoプロジェクトを作成することができます。

 

プロジェクト名は自分の好きな名前を選択できます。(下の例では”hogehoge”)

$ django-admin startproject  hogehoge

 

コマンドを実行すると、下のようなディレクトリ構造のプロジェクトが作成されます。

hogehoge/
    manage.py
    hogehoge/
        __init__.py
        asgi.py
        settings.py
        urls.py
        wsgi.py

言語とタイムゾーンの設定

言語とタイムゾーンも設定しておきましょう。

 

趣味開発なら別になんでも良いのですが、Web常に公開するときはSEOなどにも影響するので、なるべく設定しておきましょう。

 

プロジェクト内のsettings.pyを以下のように修正します。

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'ja'

# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Tokyo'

データベースのマイグレート

Djangoではマイグレートという作業をする必要があります。

 

マイグレートとは、アプリケーションで使うデータベースの定義を自動的に作成・管理するための準備です。

 

これをすることで、アプリケーションからデータベースを扱えるようになります。

 

作業自体は簡単で、以下のコマンドを実行すればOKです。

$ python manage.py migrate

スーパーユーザーの作成

ここまできたら、あと一歩です。

 

アプリケーションの管理者となる、スーパーユーザーを作成します。

 

以下のコマンドを実行します。

$ python manage.py createsuperuser

 

すると、ユーザー名やパスワード、メールアドレスを求められるので、ターミナル上で入力します。

 

ユーザー、パスワードを忘れると、ログインできなくなるので、どこかに控えておきましょう。
(万が一、忘れても新たにスーパーユーザーを作成すれば良いです。)

ユーザー名 (leave blank to use 'hoge'): admin
メールアドレス: hoge@example.com
Password: hogehoge
Password (again): hogehoge
Superuser created successfully.

開発用サーバーを起動する

ここまでの作業で必要な設定は完了しています。

 

どんどんアプリケーションを開発していきましょう。

 

なお、アプリケーションの途中経過を確認したいときは、
以下のコマンドで開発用サーバーを立ち上げることができます。

$ python manage.py runserver

 

作成したアプリーケーションの動作は開発用サーバーによって確認できます。

 

ブラウザで http://127.0.0.1:8000/ にアクセスすると、作成したアプリケーションが稼働しているでしょう。(正しく実装出来ていれば・・・)

 

Django(Pythonフレームワーク)の機能

Django(Pythonフレームワーク)の機能

Djangoでは、これまでに紹介した機能の他にもたくさんの機能が具備されています。

 

代表的な機能を紹介します。

  • フォームの生成
  • ログイン機能
  • キャッシュ
  • サイト管理

順に、深掘りしていきましょう。

フォームの生成

Webアプリケーションでは、フォームを生成する場面がたくさんあります。

 

よくサイトに登録するときに、名前や生年月日などを入力するフォームが出てきますよね。

 

あのようなフォームを、Djangoでは標準機能で作ることができます。

ログイン機能

いまではWebアプリケーションにおいて、ログイン機能は欠かすことができません。

 

Djangoでは、ログインのための機能があらかじめ用意されています。

 

さらに、Djangoではセキュリティを高く保つ仕組みになっているので、
安全にサイト設計を行うことができます。

 

なお、Djangoでログイン機能を作る方法は
DjangoでLogin機能を作る【サンプルコード付き】」の記事で解説しています。

 

キャッシュ

Djangoでは、キャッシュのための標準機能が用意されています。

 

Webアプリケーションでは、キャッシュをしっかりと効かせることによって、表示速度を向上させることができます。

 

Webアプリケーションフレームワークとしては、嬉しい機能ですね。

サイト管理

Djangoにはサイト管理のための機能も用意されています。

 

アプリーションを管理者として操作するための機能が最初から使えるので、使い勝手が良いです。

 

アプリケーションのユーザー情報を管理したり、コンテンツなどを管理することができます。

 

Djangoについてもっと学ぶなら

Djangoについてもっと学ぶなら

Djangoには、今回紹介した機能以外にも多くの機能があります。

 

Djangoについて学び、短い時間でアプリケーションを作るなら、Udemyの教材がオススメです。

>> Djangoの基礎をマスターして、3つのアプリを作ろう!

 

Udemyは買い切りの動画学習サービスです。
一度購入してしまえば、その教材はずっと使うことができます。

 

さらに今なら30日間返金保証がついているので、
一度購入して自分の思っていたものと違った場合は費用がかかりません。

 

先ほどの教材はDjangoを基礎から丁寧に解説しています。
それでいて、アプリを作成しながら解説が進むので非常に実践的です。

 

Udemy内での評価も非常に高く、ベストセラーになっている教材です。

 

また、Pythonについて基礎から学ぶのであれば、オンラインスクールがオススメです。


オンラインスクールで学習すると、講義も分かりやすく、
サポート体制もしっかりしているので、これからPythonを学ぶ人にもオススメです。


オンラインで無料レッスンを体験することもできるので、
自分にあっているかどうかを確かめることができます。


オススメは以下の3つです。
どのスクールも無料体験が用意されているので、
契約前に自分に最適なスクールを探すことができるでしょう。

✔️オススメのプログラミングスクール ベスト3

プログラミングスクールについては「プログラミングスクールで失敗しないためには【オススメベスト3も紹介】」の記事でも紹介しています。


気になった方はぜひチェックしてみて下さい〜!

コメント

タイトルとURLをコピーしました