1.增加视图函数
#Http://127.0.0.1/books
def show_books(request):
books = BookInfo.objects.all()
return render(request,'booktest/show_books.html',{'books':books})
2.在booktest的视图模板文件夹下面新增show_books.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
图书信息如下:
<ul>
{%for book in books%}
<li>{{book.btitle}}</li>
{%endfor%}
</ul>
</body>
</html>
3.修改app urls.py
from django.conf.urls import url
from . import views
urlpatterns=[
url(r'^index$',views.index),
url(r'^index2$',views.index2),
url(r'^books$',views.show_books),
]
4.访问Http://127.0.0.1/books
5.修改show_books视图模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>显示所有图书信息</title>
</head>
<body>
图书信息如下:
<ul>
{%for book in books%}
<li><a href="books/{{book.id}}">{{book.btitle}}</a></li>
{%endfor%}
</ul>
</body>
</html>
7.增加视图模板detail.html
8.增加视图函数
#Http://127.0.0.1/books/3
def detail(request,bid):
book = BookInfo.objects.get(id=bid)
heros = book.heroinfo_set.all()
return render(request,'booktest/detail.html',
{'book':book,'heros':heros})
9.修改视图模板detail.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>显示图书关联的英雄信息</title>
</head>
<body>
<h1>{{book.btitle}}</h1>
英雄信息如下:
<ul>
{% for hero in heros %}
<li>{{hero.hname}}--{{hero.hcomment}}</li>
{% empty %}
<li>没有英雄信息</li>
{% endfor %}
</ul>
</body>
</html>
10.修改app的urls.py
from django.conf.urls import url
from . import views
urlpatterns=[
url(r'^index$',views.index),
url(r'^index2$',views.index2),
url(r'^books$',views.show_books),
url(r'^books/(\d+)$',views.detail),
]
11.访问Http://127.0.0.1:8000/books
12.点击某个图书,显示图书的名字以及相关的英雄信息