Django4の説明10:カテゴリ別ページの作成
0.前提
カテゴリー別に表示をしてみましょう。
カテゴリ一覧のリンクの作成
カテゴリ一覧のURLパターンの登録
カテゴリ一覧ビューの作成
確認
まとめ
1.カテゴリ一覧のリンクの作成
※urlにカテゴリIDが付与されています
2.カテゴリ一覧のURLパターンの登録
書式を覚えましょう。
基本的なことを覚えると応用ができます。
3.カテゴリ一覧ビューの作成
/code/photo/views.py
以下はコードの概要です。
ライブラリのインポート:
Djangoの様々な機能を使うための必要なライブラリやモジュールをインポートしています。
ビューの定義:
IndexView: 前回までに説明済みのため、省略
CreatePhotoView: 前回までに説明済みのため、省略
PostSuccessView: 前回までに説明済みのため、省略
CategoryView: 特定のカテゴリに関連する投稿を表示するためのListView。カテゴリIDに基づいて投稿をフィルタリングし、ページネーションして表示します。
各ビューの属性やメソッド:
template_name: 各ビューで利用するテンプレートファイルを指定しています。
get_queryset(): CategoryViewでオーバーライドされたメソッド。
特定のカテゴリに関連する投稿を取得するために、カテゴリIDを元にPhotoPostモデルから投稿をフィルタリングしています。form_valid(): CreatePhotoViewでオーバーライドされたメソッド。フォームのバリデーションが通過した後、投稿データをデータベースに保存するために使用されます。
デコレーター:
@method_decorator(login_required, name='dispatch'): CreatePhotoViewに対してログインが必要であることを示すデコレーター。login_requiredを適用し、未ログインの場合はログインページにリダイレクトします。
これらのビューは、特定の機能を持ち、それぞれが異なるテンプレートを利用して特定の情報をユーザーに提示する役割を果たします。 Djangoでは、ビューが特定のURLに割り当てられ、ユーザーが特定の操作を実行するとそのビューが呼び出されるようになります。
※パラメータの受け取り方法が重要です。
手順をよく覚えましょう。
4.確認
5.まとめ
※重要なポイント
次回はカテゴリ別と似た方法でユーザ別一覧を表示します。
この記事が気に入ったらサポートをしてみませんか?