diadia

興味があることをやってみる

django detailページ書き方(views.py)

詳細ページの書き方は複数ある。
detailviewを使って速く簡単に作ってしまう方法やrenderを使ってどのようなプロセスで動くか分かる方法もある。
(参考)



ブラックボックス化を避けるためrenderをベースとして、データベースにアクセスするような動きを見せながらwebページを表示させる方法を書こうと思う。

from django.shortcuts import render 
from django.http import Http404

def produc_detail_page(request)
    qs = Product.objects.filter(id=pk)
    if qs.exist() and qs.count()==1:    
        instance = qs.first
    else:
        raise Http404("product does not exist.")
    context = { "object" : instance}
    return render(request, "products/detail.html" , context)

コードの意味
全体:
データベースにidをもとに情報を検索して、それがある場合のみ、その情報を
表示させる。