Djangoの主な機能
2.4 Djangoの主な機能
続いてDjangoで使用できる主な機能について確認していきましょう。
2.4.1 管理(admin)サイト
Djangoのプロジェクトを作成すると、作成と同時に管理サイトを利用することができます。
管理サイトでは、phpMyAdminのようにプロジェクトで使用するデータベースやテーブルの中身の確認や、データの挿入、削除などの更新作業を行うことが可能です。
通常、データベースの編集をコマンドプロンプトやターミナルを通じて実施するケースは少なくありません。
一方、管理サイトはブラウザで利用できるので、データベースの編集に不慣れな方でも、より簡単にデータベースの編集を行うことができます。
図 2.4 1:Djangoの管理(admin)サイト
2.4.2 認証機能
通常、認証(ログイン)機能を搭載するためには、セッション、クッキーなどの専門知識から、それに伴うプログラミングの知識が必要です。
一方、Djangoに搭載されているユーザー認証機能は、「django-allauth」パッケージを利用することで、簡単な設定だけでログイン、パスワードの再設定などの認証機能を実装できます。
2.4.3 キャッシュシステム
キャッシュとは一度、アクセスしたウェブページのデータを保存し、次のアクセスの際に保存したデータを活用することで、より早くページを表示させる仕組みです。
アクセスが多く集まれば集まるほど、サーバーへの負荷が多くなります。キャッシュは、このようなアクセスが多く集まった時のために、サーバーの処理(負荷)を減らすために使用します。
Djangoでは、キャッシュを有効にするモジュール(middlewareパッケージに内包されたcacheモジュール)や、キャッシュを削除するモジュール(coreパッケージに内包されたcacheモジュール)が含まれています。
2.4.4 ログ機能
正常に動作できているのか、エラーが発生していないかなど、アプリケーションを運用する上で動作の検証は欠かせません。
Djangoでは動作の検証、記録を行うためのログ機能を実現する「logging」モジュールが用意されています。
2.4.5 メール送信
Pythonではメール送信を実現するための「smtplib」モジュールがあります。Djangoではメール送信を高速にする機能や開発中のテストメールをサポートするための機能が備わっています。
こちらの機能は「core」パッケージの「mail」モジュールにあります。
2.4.6 フィード 、RSS(Atom)
フィード、RSS(またはAtom)は、ブログやニュースサイトなどの更新情報をユーザーへ知らせる(配信する)ために使用されるものです。
フィードは、配信する際に使われる文書そのものを意味し、RSS(またはAtom)はフィードで使用するデータの形式を意味します。
Djangoではフィード、RSS(Atom)の機能を実現するための「Feed」モジュールが含まれています。
2.4.7 ページネーション(ページ分割)
ページネーションとは、情報が多く1ページに表示しきれないためページを複数ページに分割する機能です。
ブログやECサイトなどの一覧ページや検索ページで見かけることが多いでしょう。
2.4.8 XMLサイトマップ
XMLサイトマップとは、Googleなどの検索エンジンに自サイトの各ページを認知させるために必要なファイルです。
検索エンジンに認知してもらうことで、Googleなどの検索結果に自サイトが表示されるようになります。
DjangoではXMLサイトマップを作成するための「sitemap」モジュールが用意されています。
2.4.9 データバリデーション
バリデーションとは、フォーム画面などで間違った値が入力されていないか、入力チェックを行うためのものです。
例えば、生年月日や年齢などの項目では、数字を入力してもらう必要がありますが、誤って文字列が入力された場合、正しい値を入力してもらえるようアラートを表示させる機能があります。
Djangoでは、バリデーションを実現するための「ValidationError」クラスが含まれています。