Данные из базы данных не отображаются в html-шаблоне в django
Я получил данные из таблицы books в views.py и передал их в show.html как словарь.Он не отображается.Также я хотел проверить, есть ли ключ, переданный в html...поэтому специально написал параграф после {%if key1 %}. , он не показывает и этот параграф. В чем причина или моя ошибка?
вот мой фрагмент кода
views.py
def show(request):
books = Books.objects.all()
return render(request,'app/show.html',{'key1':books})
urls.py
from django.urls import path
from . import views
urlpatterns = [path("",views.index,name = 'home'),
path('show/',views.show,name= 'show'),
]
models.py
class Books(models.Model):
book_num = models.IntegerField()
auth_name = models.CharField(max_length = 50)
book_name = models.CharField(max_length = 100)
def __str__(self):
return self.auth_name
show.html
<center>
<table>
<tbody>
<th>Available books</th>
{%if key1%}
<P>please check if issued</p>
{% for i in key1 %}
<tr>
<td>Author name:{{i.auth_name}}</td>
<td>Book title:{{i.book_name}}</td>
</tr>
{% endfor %}
{% endif %}
</tbody>
</table>
</center>