功能
此图书系统包括增加书籍,删除书籍,编辑书籍,查看书籍。
增加书籍:判断其的请求方式,当为post请求时,根据用户输入的来进行增加,最后重定向到首页上。
删除书籍:根据书本id直接删除,最后重定向到首页,显示新的数据。
编辑书籍:需判断请求方式,根据书本id来进行编辑。
查看书籍:将books全部封装为字典类型,重定向到books页面上,最后根据路由转换器将书本信息全部输出。
数据库介绍
author为作者表,其中定义了nid、name及age分别代表着作者的id、姓名和年龄。
class Author(models.Model):
nid = models.AutoField(primary_key=True) #定义为主键
name=models.CharField(max_length=32) #char类型,32
age = models.IntegerField() #整型
Book表中定义了nid、title、publishDate、price、publish_id分别代表着书本的id、作者、出版日期、价格和出版社id。
class Book(models.Model):
nid = models.AutoField(primary_key=True)
title =models.CharField(max_length=32)
publishDate = models.DateField()
price = models.DecimalField(max_digits=5,decimal_places=2)#最多5位,小数点后最多两位。
这是建立了多对多关系,自动生成了id表。书可以有多个作者。
authors= models.ManyToManyField(to='Author')
Book_authors中是id表,其中定义了id、book_id、author_id分别代表着增加id、书本id和作者id。
Publish中定义的为出版社信息,其中定义了nid、name、city、email分别代表着出版社id、出版社姓名、出版社地点、出版社邮箱。
class Publish(models.Model):
nid = models.AutoField(primary_key =True)
name = models.CharField(max_length=32)
city = models.CharField(max_length=32)
email = models.EmailField()#email
定义了一对多关系,一本书只允许有一个出版社,但是出版社可以有多本书。
publish=models.ForeignKey(to='Publish',to_field='nid',on_delete=models.CASCADE)
项目功能演示(简单的CRUD)
项目首页
添加功能
编辑功能(修改了id为三号的基本信息)
领取方式!!
扫码回复【图书管理系统】即可领取。