the dawn of yuriko hisory

アニメやら漫画関係で何か作りたいものと勉強したことのメモ用

DjangoGirlsに挑戦 ~クエリセット2~

クエリセット2

今回はビュー側での操作です。

クエリセット

models(Post)→view→template
と値を渡していきます

モデルは作り終えてるのでこれをどうやってviewで扱うのかをやっていきます。

from django.shortcuts import render
from .models import Post //1

def post_list(request):
    posts = Post.objects.all().order_by('published_date') //2
    return render(request, 'blog/post_list.html', {'posts': posts}) //3

1.
ディレクトリ内のmodels.pyからPostをimportしています。
これでPostの操作ができるようになります。

2.
Djangogirlsとは変えていますが、とりあえず全データを取得して並べ替えしたものを変数postsに入れているだけです

3.
Postモデルのオブジェクトはpostsに入っていますが、
これをtemplateで扱うにはrenderの引数{}の中に入れてあげればよいのです。
{template側で使う際の命名 : 値}

これでビュー側は終わりです。
{}内は複数の値を渡すことができるので、取得したオブジェクトを変数にいれてその変数を{}内に名前と一緒にいれれば
あとは好きな要素を好きなようにtemplate側に渡すことができます。

あと個人的に複数書くような場合は

render(request, 'blog/post_list.html', {
    'posts': posts,
    'yuriko': yuriko
    })

みたいな形で改行していった方が見やすくて好みです。