Django入門編

DjangoはPythonの代表的なWebアプリケーションフレームワークです。DjangoはWebアプリケーションに必要な多くの機能、例えば、テンプレートエンジン、データベースを利用するためのORマッパー、管理画面、ユーザー認証などを標準で備えており、本格的なWebアプリケーション開発にもよく使われています。

19.Djangoでログインユーザーを参照しよう

アクセス制御が実現できています

Djangoアプリでログインしているユーザー名を自動的に投稿データに格納し、ログイン中のユーザーがその投稿を作成したユーザーと一致する場合のみ投稿を編集できるようにしてみましょう。これもDjangoの機能を使って簡単に実装できます。

18.Djangoアプリでログイン時だけ投稿・編集を可能にしてみよう

非ログイン状態なので「新規投稿」ボタンが表示されない

Djangoアプリにアクセス制御を追加する方法を学びましょう。投稿はログインユーザーのみ、投稿の編集・削除はその投稿を作成したユーザーのみが行えるようにします。これもDjangoが用意してくれている機能で簡単に実現できます。

15.Djangoクラスベースの汎用ビュー

投稿が削除されて、投稿一覧ページにリダイレクト

Djangoのビュー関数の書き方には大きく分けて関数ベースとクラスベースの2通りがあります。ここまでは関数ベースでビューを記述してきましたが、クラスベースの書き方とDjangoが予め用意してくれている汎用ビューについても知っておきましょう。

14.Djangoで投稿を編集・削除できるようにしてみよう

掲示板の投稿編集機能のフロー図

Djangoで作った1行掲示板に投稿を編集・削除できる機能を追加してみましょう。編集フォームと投稿編集用のWebページ、編集内容をデータベースに保存する関数、データベースから投稿を削除する関数など複数の機能が必要になります。

13.Djangoで新規投稿機能を作ってみよう

掲示板の新規投稿機能のフロー図

Djangoで1行掲示板にユーザーが投稿するための新規投稿機能を作ってみましょう。新規投稿機能を作成するには投稿フォームとそれを表示するWebページ、投稿内容をデータベースに保存するなど複数の機能が必要になります。

11.Djangoでテンプレートの共通部分を分割する方法

投稿一覧ページ

Djangoでテンプレートの共通部分を分割して別のファイルとして管理する方法について学びましょう。複数のWebページを表示するアプリケーションでも、テンプレートの共通部分をまとめて別のファイルとして管理しておくことで、メンテナンスが楽になります。