【Django 学习笔记】5、常用功能


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流程

更多信息欢迎关注我的微信公众号:TeamsSix

参考链接:https://youtu.be/BXyGr9JQVcc


文章作者: TeamsSix
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 TeamsSix !
评论
 上一篇
【渗透实例】Fuzz大法好啊 【渗透实例】Fuzz大法好啊
0x00 前言 本文仅供学习分享用途,严禁用于违法用途 在搞站的时候,经过一顿操作后只发现了一堆低危,过了一段时间看看Xray,居然发现一个XSS 嗯~ Xray 真香!
2020-03-10
下一篇 
【Django 学习笔记】4、模板 【Django 学习笔记】4、模板
1、在项目根目录下,创建templates目录,在templates下新建index.html文件,PyCharm将自动生成html的文件内容格式。 . ├── Book ├── BookManager └── templates
  目录