IndexView

Webアプリのトップ画面(index.html)表示用のビュー。 投稿済みの記事がリスト表示できるように、ListViewクラスを継承している。

from django.views.generic.list import ListView
from blog.models import Article, Tag, Category

class IndexView(ListView):
	model = Article
	template_name = 'index.html'

ここでは特に条件なしでモデルを抽出しているので、modelにそのままArticleを代入している。この1行の処理を追加するだけで、object_listを介してフロントエンドでデータにアクセスできるようになる。

追加で以下の機能を実装する時は、querysetを使う。

  1. 最新の記事を取得

  2. 最新の記事を10件だけ表示

  3. キーワード検索で抽出された記事

#最新の記事を取得
queryset = Article.objects.latest('published_at')

#最新の記事を10件取得
queryset = Article.objects.latest('published_at')

#キーワード検索で抽出された記事を取得

最終更新

役に立ちましたか?