views.py
Django
1class PostDetailView(DetailView): 2 model = Post
django
1{% block body %} 2<div class="wrapper-detail"> 3 <div class="section-heading"> 4 <h1>{{ object.title }} <small>written by: </small><span>{{ object.author }}</span></h1> 5 <p class="subheading">{{ object.date_posted | date:'Y-m-d P'}}</p> 6 </div> 7 <form class="detail-form" action="{% url 'post-update' post.id %}"> 8 <button type="submit" class="btn btn-success btn-lg slide">Update</button> 9 </form> 10 <form class="detail-form" action="{% url 'post-delete' object.id %}"> 11 <button type="submit" class="btn btn-danger btn-lg slide">Delete</button> 12 </form> 13</div> 14 15{% endblock body %}
post_detail.html
の{% url 'post-update' post.id %}
のpost.id
の箇所は、object.id
のみ有効と思っていたのですが、post.id
とobject.id
の両方正常に動きます。
なぜpost.id
でも動くのでしょうか。
views.pyのPostDetailView(DetailView)
に関しては特にcontext_object_name
の値を指定していないので、postはどこからきたのかが分からないです。(objectに関しては公式に記載してある通りなので理解できます)
回答2件
あなたの回答
tips
プレビュー