django 13. Class Based View
https://github.com/django/django/blob/main/django/views/generic/list.py
試運転
post = Post.objects.get(pk=pk)#pkというフィールド(タイプ)=実績pk(つまりpk番号pk(数字)のURL)を指定して、データを取得します.
return render(request, 'instagram/post_detail.html', {
'post' : post,
})
ここでpkはint型に入ります.(urls.pyで指定)
すなわち、論理的にURLの後ろの数字をpkとして受信し、そのpk(id)を持つpostを取得してpostという変数に格納する.
そしてpost detailhtmlの内容を表示します.
{% if post.photo %}
{% endif %}
{{ post.message}}
post_detail.htmlはインポートした文章の作成者を表示します.
photo urlを取得します.
これでマークが付きます.
ただし,pk=100とpk=100のPostがなければDoesNotExistが生成される.
def post_detail(request: HttpRequest, pk: int) -> HttpResponse:
post = get_object_or_404(Post, pk=pk)
# try:
# post = Post.objects.get(pk=pk) #pk라는 필드 지정 (종류) = 실제 값 Pk (즉 pk 번호가 pk(숫자)인 url에 접속해서 해당 데이터를 가져온다.)
# except Post.DoesNotExist:
# raise Http404
return render(request, 'instagram/post_detail.html', {
'post' : post,
})
上記のコードを使用すると、404によってエラー処理される.Reference
この問題について(django 13. Class Based View), 我々は、より多くの情報をここで見つけました https://velog.io/@mubit609/django-12.-Class-Based-Viewテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol