Django的图书管理系统的实现步骤(附代码)
本篇文章给大家带来的内容是关于Django的图书管理系统的实现步骤(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
出版社的增删改查
展示出版社列表:
1. 创建一个表结构:
2. 再配合那俩条命令即可创建一个press表
创建出版社函数,并在url中进行配置
创建HTML页面,展示出版社的表
for循环
{% for i in ret %} ---- 模板语言
i 指的是 从 ret 中拿到的对象
{{ forloop.counter }} --> for循环从1开始计数
{{ forloop.counter0 }} --> for循环从0开始计数
{% endfor %}
添加出版社(在原表中添加)
要添加出版社,先跳转到添加页面,创建添加出版社函数(在url中配置好):
创建添加页面
把页面输入的信息以post的方式提交一个字典,封装到name键值中,最终传给press_add
添加完成并展示:
还可以在出版社列表页面建立 a 标签,点击即可跳转添加页面
删除出版社:
在出版社列表中添加删除操作,点击删除项,把要删除的该项在数据库中删除.
在出版社列表的html页面中标明点击''删除''请求后,接收请求的对象.
创建删除出版社的函数:即创建接收请求的函数,对该请求做出处理.
编辑出版社
修改原有出版社的信息,在原有列表上添加'编辑'选项,点击该选项跳转到编辑页面.
创建编辑出版社的函数(并完成配置)在函数中修改并同步数据库
创建编辑的HTML页面
图书的增删改查
在数据库中创建图书的列表:
在models中创建图书的表结构的类通过那俩个命令在数据库中创建表
创建对书列表进行操作的函数(并在url中配置好)
创建在前端展示的html页面
注意: 在函数中对表进行操作,需要通过ORM语言编写的表结构类,来获取表的信息
输出的Press object 对象是通过外键获取的出版社对象还可以打印出出版社名字: print(data[0].press.name)
此外 data[0].press_id 可以查询到与这本书相关联的出版社id 是通过外键查询的,在类中创建表结构过程中,创建外键会自动在数据库中创建外键关联id,此时的外键id就在本表中.
data[0].press.id 也可以查询到与这本书相关联的出版社id 是通过连表查询的,.press是出版社的对象, .id自然能够获取到与data[0]相关的出版社id.
添加书籍
创建添加书籍的操作函数(在url中配置好)
(注意: 上图name错误,表结构中 书籍的名字标题是title)
创建添加页面
删除书籍
在书籍列表中添加删除操作项,点击操作项跳转带删除函数进行删除操作.
创建要删除书籍的操作函数
编辑书籍
在书籍页面中,添加编辑操作的选项,选中要编辑的书籍对象,跳转页面进行修改,然后保存.
创建编辑书籍的操作函数(并配置好):
注意 : 末尾的 'return' 表示当还未进行信息编辑时,需要先跳转到编辑页面,依照选定好的对象进行信息的编辑,编辑完成后,提交.
创建编辑页面:
作者的曾删改查(多对多)
作者可以写多本书,一本书也可以有多个作者.
创建作者和书的关系
方法一:
# 作者: class Author(models.Model): id = models.AuthorField(primary_key=True) # 自增id主键 name = models.CharField(max_length=32) # 作者名字 # 创建作者和书籍的关系表 class Author2Book(models.Model): id = models.AuthorField(primary_key=True) author = models.Foreignkey(to='Author', on_delete=models.CASCADE) book = models.Foreignkey(to='Book', on_delete=models.CASCADE)
方法二 (用orm创建)
class Author(models.Model): id = models.AuthorField(primary_key=True) # 自增id主键 name = models.CharField(max_length=32) # 作者名字 books = models.ManyToManyField(to='Book')
查询:在数据库中找到所有作者信息,然后在页面展示出来
创建作者函数并配置好
创建html文件在页面上展示出来
添加:创建添加操作的函数,展示添加页面,获取用户的添加信息,返回给数据库,再展示作者信息.
创建添加操作的函数,并配置好
创建获取信息的页面
删除和编辑
在作者列表中添加删除操作项,锁定要删除的对象,
创建要删除的操作函数,
在作者列表中添加编辑操作,锁定要编辑的对象
创建编辑函数,并配置好:
创建html页面,展示编辑页面并获取用户填写的信息
注意: 模板语言, in 判断 {% if book in author.books.all %} 意为该书在作者所关联的书籍列表中的话.
ORM 编辑多对多不能直接编辑第三张表,要借助ORM提供的方法:
all() ; add(id1, id2); set([id1, id2]); clear()清空
上传文件
创建上传文件的操作函数,并配置好
创建上传文件的html页面
enctype="multipart/form-data" 是文件操作必须要有的
以上是Django的图书管理系统的实现步骤(附代码)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

查看django版本步骤:1、打开终端或命令提示符窗口;2、确保已经安装了Django,如果没有安装Django,可以使用包管理工具来进行安装,输入pip install django命令即可;3、安装完成后,可以使用python -m django --version来查看Django的版本。

Django和Flask都是PythonWeb框架中的佼佼者,它们都有着自己的优点和适用场景。本文将对这两个框架进行对比分析,并提供具体的代码示例。开发简介Django是一个全功能的Web框架,它的主要目的是为了快速开发复杂的Web应用。Django提供了许多内置的功能,比如ORM(对象关系映射)、表单、认证、管理后台等。这些功能使得Django在处理大型

Django是一个完整的开发框架,该框架涵盖了Web开发生命周期的各个方面。目前,这个框架是全球范围内最流行的Web框架之一。如果你打算使用Django来构建自己的Web应用程序,那么你需要了解Django框架的优点和缺点。以下是您需要知道的一切,包括具体代码示例。Django优点:1.快速开发-Djang可以快速开发Web应用程序。它提供了丰富的库和内

查看django版本的方法:1、通过命令行查看,在终端或命令行窗口中输入“python -m django --version”命令;2、在Python交互式环境中查看,输入“import django print(django.get_version())”代码;3、检查Django项目的设置文件,找到名为INSTALLED_APPS的列表,其中包含已安装的应用程序信息。

区别是:1、Django 1.x系列:这是Django的早期版本,包括1.0、1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8和1.9等版本。这些版本主要提供基本的Web开发功能;2、Django 2.x系列:这是Django的中期版本,包括2.0、2.1、2.2等版本;3、Django 3.x系列:这是Django的最新版本系列,包括3.0、3等版本。

如何升级Django版本:步骤和注意事项,需要具体代码示例引言:Django是一个功能强大的PythonWeb框架,它持续地进行更新和升级,以提供更好的性能和更多的功能。然而,对于使用较旧版本Django的开发者来说,升级Django可能会面临一些挑战。本文将介绍如何升级Django版本的步骤和注意事项,并提供具体的代码示例。一、备份项目文件在升级Djan

django是后端。详细介绍:尽管Django主要是一个后端框架,但它与前端开发密切相关。通过Django的模板引擎、静态文件管理和RESTful API等功能,前端开发人员可以与后端开发人员协作,共同构建功能强大、可扩展的Web应用程序。

Django、Flask和FastAPI:哪个框架适合初学者?引言:在Web应用开发领域,有许多优秀的Python框架可供选择。本文将重点介绍Django、Flask和FastAPI这三款最受欢迎的框架。我们将评估它们的特点,并讨论哪个框架最适合初学者使用。同时,我们还将提供一些具体的代码示例,以帮助初学者更好地理解这几个框架。一、Django:Django
