首页 后端开发 Python教程 Django的图书管理系统的实现步骤(附代码)

Django的图书管理系统的实现步骤(附代码)

Oct 08, 2018 pm 04:11 PM
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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

怎么看django版本 怎么看django版本 Dec 01, 2023 pm 02:25 PM

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

Django vs. Flask:Python Web框架的对比分析 Django vs. Flask:Python Web框架的对比分析 Jan 19, 2024 am 08:36 AM

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

Django框架的优点和缺点:您需要知道的一切 Django框架的优点和缺点:您需要知道的一切 Jan 19, 2024 am 09:09 AM

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

怎么查看django版本 怎么查看django版本 Nov 30, 2023 pm 03:08 PM

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

django版本区别是什么 django版本区别是什么 Nov 20, 2023 pm 04:33 PM

区别是: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版本:步骤和注意事项 Jan 19, 2024 am 10:16 AM

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

django是前端还是后端 django是前端还是后端 Nov 21, 2023 pm 02:36 PM

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

Django、Flask和FastAPI:哪个框架适合初学者? Django、Flask和FastAPI:哪个框架适合初学者? Sep 27, 2023 pm 09:06 PM

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

See all articles