Django图书馆综合项目-学习(2)

接下来我们来实现一下图书管理系统的一些相关功能

1.在书籍的book_index.html中有一个"查看所有书毂"的超链接按钮,点击进入书籍列表book_list.html页面.

这边我们使用之前创建的命名空间去创建超连接

这里的book 是在根路由创建的namespacelist是在book的子路由创建的 name

这样可以看到我们已经成功实现了2个页面的跳转

2.在书籍的book_list.html中显示所有书名,点击书名可以进入书籍详情book_detail.html(通过书籍id)

我们现在视图函数中将数据库中的所有书的数据取出来

用for 循环将所有数据的书名取出来

可以看到所有书籍名字已经可以展现在页面上

点击书名跳转到详情页 将url再设置一下

 3.在书籍book_detail.html中可以点击该书的作者和出版社,进入作者详情的author_detail.html和出版社详情的publisher_detail.html

视图函数中获取数据的数据

 

点击作者姓名可以挑战到作者的详情页

先在视图函数中获取author_id中对应作者的数据

 作者详情页中将获取的数据展示出来

出版社的详情页面跳转也是一样

先将详情页的url添加好

在视图函数中获取pid对应的所有出版社数据

然后在将数据展示在详情页

以上是通过正向查询,通过作者查看作者详情,通过点击出版社查看出版社详情,下面我们如果想要通过反向查询 比如作者的所有书籍和出版社有哪些书籍 

在用户详情页增加一个我的作品集通过for循环反向查询到对应的所有书籍

在查询出来的书名也写上了一个超连接 这样在点击后我们就可以再次跳转到书籍详情页

增加一个出版社所有书籍的查询

经过以上项目的练习 可以对Django的模型进一步的熟悉和加深

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/837556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

6. RedHat认证-基于公钥的认证方式

6. RedHat认证-基于公钥的认证方式 主要学习客户端访问服务端的时候,免密登录这一方式 注意: 免密登录只是基于公钥认证的一个附带属性(基于公钥认证的方式更加安全,防止黑客暴力破解) 第一步:将客户端生成的秘钥传送到服务器 在客户端通过…

2024中国(厦门)国际医用消毒及感控设备展览会

2024中国(厦门)国际医用消毒及感控设备展览会 2024 China (Xiamen) International Medical Disinfection And Infection Control Exhibition 致力于打造医用消毒及感控设备产业采购一站式平台 时 间:2024年11月1-3日 November 1-3, 2024 …

一文扫盲(13):电商管理系统的功能模块和设计要点

电商管理系统是一种用于管理和运营电子商务平台的软件系统。它提供了一系列功能模块,帮助企业进行商品管理、订单管理、会员管理、营销推广、数据分析等工作。本文将从以下四个方面介绍电商管理系统。 一、什么是电商管理系统 电商管理系统是一种集成了各种功能模块…

免费的集成组件有哪些?

集成组件是指将多个软件或系统进行整合,以实现更高效、更可靠的数据处理和管理。在数据管理和分析领域,集成组件是不可或缺的工具之一。 在当今高度信息化的时代,集成组件在各行各业的应用中扮演着举足轻重的角色。集成组件能够将不同来源的…

企业安全必备利器:专业级加密软件介绍

随着信息技术的迅猛发展,数据安全问题日益凸显,专业级加密软件应运而生,成为保护数据安全的重要工具。本文将对专业级加密软件进行概述,分析其特点、应用场景及分享。 一、专业级加密软件概述 专业级加密软件是指那些采用高级加密…

三分钟了解计算机网络核心概念-数据链路层和物理层

计算机网络数据链路层和物理层 节点:一般指链路层协议中的设备。 链路:一般把沿着通信路径连接相邻节点的通信信道称为链路。 MAC 协议:媒体访问控制协议,它规定了帧在链路上传输的规则。 奇偶校验位:一种差错检测方…

uniapp怎么使用jsx

安装vitejs/plugin-vue-jsx npm install vitejs/plugin-vue-jsx -Dvite.config.js配置 import { defineConfig } from "vite"; import uni from "dcloudio/vite-plugin-uni"; import vueJsx from vitejs/plugin-vue-jsxexport default defineConfig({plu…

upload-labs靶场通关详解(1-15)

1.pass-01 查看源代码 是js,属于前端校验 可以通过禁用js来上传文件 2.pass-02 根据提示是MIME绕过 MIME:是设定某种扩展名的文件 用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来…

冯喜运:5.14黄金价格空头延续反弹空,原油走势分析实时操作

【黄金消息面分析】:周二(5月14日)亚洲时段,现货黄金窄幅震荡,目前交投于2342美元/盎司。金价周一因获利了结下跌1%,收报2336.10美元/盎司,投资者等待本周的关键通胀数据为今年美国降息提供更多…

使用Subtitle edit合成双语字幕

有的时候从网上下载的字幕有单独的中文版和英语版,但是没有中英文一起的双语字幕: 后缀为chs的是中文简体后缀为cht的是中文繁体后缀为eng的是英文 如果我们在电脑端上可以直接用potplayer添加副字幕来实现双语,但是如果是别的播放器&#…

多线程·线程状态

目录 1.等待一个线程 join 2.休眠当前线程 3.线程的所有状态 4.线程的状态转换 1.等待一个线程 join 有些场景,我们需要控制线程的执行顺序,这时候就需要用到 join 了 比如:把大象装进冰箱要几步? 第一步:打开冰…

【数据结构陈越版笔记】第1章 概论

我最近准备以陈姥姥的数据结构教材为蓝本重新学一下数据结构,写一下读书笔记 第1章 概论 1.1 引子 概论中首先描述了,数据结构的定义没有具体的定义,初学者可以不用管这个定义的问题,但是我理解的和维基百科的说法是一样的“数…

全面了解 Swagger 导出功能的使用方式

Swagger 是一个强大的平台,专门用于开发、构建和记录 RESTful Web 接口。通过其提供的交互式用户界面,开发人员能够轻松且迅速地创建和测试 API。Swagger 还允许用户以多种格式,包括 JSON 和 Markdown,导出 API 文档。选择 JSON 格…

人工神经网络(科普)

人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程…

MySQL中的索引失效问题

索引失效的情况 这是正常查询情况,满足最左前缀,先查有先度高的索引。 1. 注意这里最后一种情况,这里和上面只查询 name 小米科技 的命中情况一样。说明索引部分丢失! 2. 这里第二条sql中的,status > 1 就是范围查…

什么品牌洗地机最好?怎么选?2024家用洗地机推荐攻略

随着科技的不断发展,家用洗地机已经成为人们家庭清洁任务重非常重要的辅助工具。家用洗地机集吸尘、扫地、拖地等功能于一体,通过高速旋转的滚刷和强力的吸力,将地面上的污渍、细菌和毛发等吸入污水箱,从而达到清洁地面的目的。但…

软件验收测试包括哪些类型

在软件开发过程中,验收测试是一个至关重要的环节,它确保了软件的质量、功能性和用户体验符合预期。验收测试主要关注于软件是否满足用户需求和业务目标,从而确保软件能够顺利交付并投入使用。本文将介绍软件验收测试的主要类型及其关键要素。…

扩展van Emde Boas树以支持卫星数据:设计与实现

扩展van Emde Boas树以支持卫星数据:设计与实现 1. 引言2. vEB树的基本概念3. 支持卫星数据的vEB树设计3.1 数据结构的扩展3.2 操作的修改3.3 卫星数据的存储和检索 4. 详细设计和实现4.1 定义卫星数据结构体4.2 修改vEB树节点结构4.3 插入操作的伪代码4.4 C语言实现…

声纹识别的对抗与防御

随着机器学习理论和方法的发展, 出现了用于模仿特定说话人语音的深度伪造、针对语音识别和声纹识别的对抗样本, 它们都为破坏语音载体的可信性和安全性提供了具体手段, 进而对各自应用场景的信息安全构成了挑战。 深度伪造是利用生成式对抗网络等方法, 通过构建特定的模型, 产生…

【爬虫之scrapy框架——尚硅谷(学习笔记one)--基本步骤和原理+爬取当当网(基本步骤)】

爬虫之scrapy框架——基本原理和步骤爬取当当网(基本步骤) 下载scrapy框架创建项目(项目文件夹不能使用数字开头,不能包含汉字)创建爬虫文件(1)第一步:先进入到spiders文件中&#x…