展示人物列表
- 提示 : 点击书籍列表时, 使用所点击书籍的
索引
去取人物列表信息
实现步骤
- 1.创建视图
- 2.创建模板
- 3.配置URLconf
1.创建视图
- 查询数据库数据
- 构造上下文
传递上下文到模板
# 定义视图:提供人物列表信息 def peopleList(request,bookid): # 查询数据库人物列表数据 book = BookInfo.objects.get(id=bookid) # 外键查询 : 人物所属于哪本书 peopleInfos = book.peopleinfo_set.all() # 构造上下文 context = {'peoplelist':peopleInfos} # 数据交给模板处理,处理完成后通过视图响应给客户端 return render(request, 'Book/peoplelist.html', context)
2.创建模板
booklist.html
模板改造 : 书名使用<a>
标记
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>书籍列表信息</title>
</head>
<body>
<ul>
{% for book in booklist %}
<li><a href="/{{ book.id }}/">{{ book.name }}</a></li>
{% endfor %}
</ul>
</body>
</html>
peoplelist.html
模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>人物列表信息</title>
</head>
<body>
<ul>
{% for people in peoplelist %}
<li>{{ people.name }}</li>
{% endfor %}
</ul>
</body>
</html>
3.配置URLconf
进入
应用
中的urls.py
文件urlpatterns = [ # 应用中定义URLconf,调用对应的index视图/函数 url(r'^$', views.index), # 匹配书籍列表信息的URL,调用对应的bookList视图/函数 url(r'^booklist/$', views.bookList), # 匹配书籍列表信息的URL,调用对应的peopleList视图/函数 # 索引分组是为了方便取出作为所点击书籍索引,传递给peopleList函数的第二个参数 url(r'^(\d+)/$', views.peopleList) ]