Django は、Python でWebアプリケーションを開発するためのフレームワークです。
DjangoはPythonで記述されたファイル群(ライブラリ)ですが、それだけでなくアプリ開発に必要な機能(開発用サーバやデータベース管理ソフト)も搭載しています。
本シリーズでは初学者の方に向けシンプルなアプリケーション開発を通じて、Djangoのしくみをわかりやすく、要点をまとめて解説します。
第1回は基本的な『Webアプリケーションのしくみ』から解説していきます!
Django とWebアプリケーション
Webアプリケーションとは?
まずDjangoで開発しようとしているWebアプリケーションとは一言でどのようなものでしょうか。
Webアプリケーションとは、アプリケーションをWebサーバで公開し、ブラウザで実行できるようにしたものです。
Webアプリケーションが動作した結果、表示される画面がWebページです。
Webアプリケーションは、インストールが必要な一般的なアプリケーションとは違い、ブラウザ経由で実行できるので、ユーザーはブラウザと通信環境さえあればWebアプリケーションを利用できます。
静的Webページと動的Webページ
Webアプリケーションで表示されるWebページは、静的Webページと動的Webページで構成されます。静的 Web ページはいつ誰が見ても同じ情報が表示されます。一方、動的 Web ページは、見る人や時間帯によって表示内容が変わります。例えばSNSなどではログインしているユーザー情報に基づいて、表示される内容が異なります。このようにページが変化するため、「動的」と呼ばれます。
Webアプリケーションの構造(Web三層構造)
それではWebアプリケーションはどのようにして静的/動的Webページを表示しているのか、Webアプリケーションの構造の理解を通じて学習していきましょう。
Webアプリケーションは、「プレゼンテーション層」「アプリケーション層」「データ層」の3層の構造からなり、Web三層構造と呼ばれます。それぞれの層に個別の役割をもつサーバが存在します。
Web三層 | サーバ | 役割 |
プレゼンテーション層 | Webサーバ | ユーザからのリクエストに対しHTMLなどのレスポンスを応答を行うサーバ 「データの窓口係」 |
アプリケーション層 | Webアプリケーションサーバ | Webサーバで受け取ったリクエスト情報に基づき、レスポンスを生成するサーバ 「データの処理係」 |
データ層 | データベースサーバ | Webアプリケーションの処理内容に応じたデータ管理の実行を行うサーバ 「データの管理係」 |
Web三層構造のうち、プレゼンテーション層(クライアントとWebサーバ)で成立するのが静的Webページ、アプリケーション層やデータ層とも連携するのが動的Webページです。
Django でWebアプリケーション開発をしよう!
ここまでWebアプリケーションの仕組みについて学習してきました。
実際の開発においても、「この仕組みのどの部分に取り組んでいるのか」を意識しながら開発していきましょう。
またDjangoの開発環境の構築では自分でWebサーバ、APサーバ、DBサーバを用意する必要はありません!Djangoは開発用Webサーバを搭載しており、Webアプリケーションサーバについては自PCをサーバとして扱い、データベースについてはDjango搭載のSQLiteを使用しているためです。
このようにWebアプリケーションの開発に必要なものが何でもそろっているところが、Django開発が人気である理由のひとつです。
次回は、DjangoがどのようにWebアプリケーションの三層構造を実現しているか、MTVフレームワークを通じて学んでいきましょう!
コメント
コメント一覧 (1件)
[…] 本シリーズでは初学者の方に向けシンプルなアプリケーション開発を通じて、Djangoのしくみをわかりやすく、要点をまとめて解説します。第1回は基本的な『Webアプリケーションのしくみ』を解説しました。今回はDjangoがどのようにWebアプリケーションの三層構造を実現しているか、MTVフレームワークを通じて学んでいきましょう! […]