Djangoの概要
2.1 Djangoの概要
Pythonでは、Webアプリケーションの開発を行うにあたり、他のプログラミング言語と比べ、DjangoやFlaskなどのフレームワークを使用するのが一般的です。
中でもDjangoは最も普及率の高いフレームワークであり、この章では「なぜDjangoなのか」、「Djangoはどういうもので、なぜいいのか」、そうした基本的な事柄について説明します。
2.1.1 MTVパターンが使わている
「Django」は、WebアプリケーションにM(Model)-T(Template)-V(View)アーキテクチャーによる開発を導入するためのフレームワークです。
静的なページと動的なページ
このアーキテクトでは、HTML文書のような同じ内容が表示される静的なページだけでなく、アクセスする状況に応じてWebブラウザへ表示する内容を自由に変えることを前提としたものになります。
図 2.1.1: 静的なページと動的なページの違い
データベースと連携
また動的な処理の中でも、主にデータベースの連携を前提としたものになります。具体的にどのような仕組みなのか、Model、Template、Viewの各用語の意味、役割を踏まえて以下で説明します。
Modelデータベースと連携し、データベースのデータを保持する役割を果たします。
Template
Template(テンプレート)は、htmlファイルのことを指します。Webブラウザの画面に表示させる雛形、デザインのような役割を果たします。Templateとして作成するファイルはhtmlファイルになります。
Webブラウザからの要求に対してWebページを生成し、その結果画面の表示を行います。
プログラムの制御を行います。リクエストにあわせて適切なModel、Templateを呼び出し、処理を実行します。
図 2.1.2: MVCモデル
2.1.2 幅広い用途で使用できるフルスタックのフレームワーク
Djangoは、Webアプリケーションの開発に必要な機能が揃っているため、フルスタックのフレームワークと言われています。
「ユーザー認証」、「管理画面」、「データベース連携」、「フォームの作成」、「RSSフィード」などWebアプリケーションの開発でよく使用する機能が備わっています。
FlaskやBottleなどのフレームワークは必要最低限の機能しか備わっていないため、小規模な開発が適していると言われており、含まれてない機能を実装するためには自身でカスタマイズする知識が必要です。
一方、Djnagoは一通りの機能が備わっているので、小規模から大規模までの開発に適しています。具体的にはSNSやブログ、ECサイトなど幅広いWebアプリケーションの開発に対応可能です。