0x00 案例实现
- 创建的项目名称为
BookManager
,创建应用名称为Book
,完成图书信息
的维护 - 访问图书信息列表
127.0.0.1:8000/booklist
,并且点击每个图书能够跳转到对应图书人物信息界面
0x01 代码实现
1、修改templates\booklist.html
代码
原来:<li><h1><a href="#">{{ book.name }}</a></h1></li>
现在:<li><h1><a href="{{ book.id }}/">{{ book.name }}</a></h1></li> #通过id值来进行对应书籍人物信息查询
2、在Book\views.py
中新添peoplelist
函数
def peoplelist(request, book_id): #book_id从url中直接传入
book = BookInfo.objects.get(id=book_id) #通过id查询书籍
people_list = book.peopleinfo_set.all() #获取书籍中的所有人物
context = {
'people_list': people_list
}
return render(request, 'peoplelist.html', context)
3、在BookManager\urls.py
中新添url规则
re_path(r'^booklist/(\d+)/$', views.peoplelist), #(\d+)里的内容将直接传入peoplelist函数中的book_id参数
如果没有导入re_path需要导入一下
from django.urls import re_path
4、新建templates\eoplelist.html
文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>人物信息</title>
</head>
<body>
<ul>
{% for people in people_list %}
<li><h1>{{ people.name }}</h1></li>
{% endfor%}
</ul>
</body>
</html>
5、最后实现功能:
6、总结MVT流程
- 本次Django学习笔记更新完毕,本次项目源码已上传至我的github,源码链接:https://github.com/teamssix/Django_study_notes
更多信息欢迎关注我的微信公众号:TeamsSix