博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python实现图书管理系统
阅读量:3962 次
发布时间:2019-05-24

本文共 4442 字,大约阅读时间需要 14 分钟。

系统环境:

python 3.6 ,django 1.11.9 ,mysql 5.7

运行截图

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

项目目录

在这里插入图片描述

在这里插入图片描述

实现代码

Models部分代码:

from django.db import models# Create your models here.class Publisher(models.Model):    name=models.CharField(max_length=32)class Book(models.Model):    name=models.CharField(max_length=32)    publisher=models.ForeignKey(Publisher,on_delete=models.DO_NOTHING)#级联删除

出版社展示

前端

    
Title

出版社列表

新增
{% for i in all_publishers %}
{% endfor %}
序号 ID 出版社名称 操作
{ {forloop.counter}} { { i.pk }} { { i.name }} 删除 编辑

后端

from django.shortcuts import render,redirect,HttpResponsefrom app01 import models# Create your views here.#展示数据库def publisher_list(request):    all_publishers=models.Publisher.objects.all().order_by('id')#对象列表	return render(request,'publisher_list.html',{
'all_publishers':all_publishers})

出版社新增

前端

    
Title
新增出版社
{ { error }}

后端

#新增数据库def publisher_add(reqest):    #get请求    #post请求    if reqest.method=='POST':        pub_name=reqest.POST.get('pub_name')        if not pub_name:              return render(reqest,'publisher_add.html',{
'error':'出版社名称不能为空'}) if models.Publisher.objects.filter(name=pub_name):#数据库有重复 return render(reqest,'publisher_add.html',{
'error':'出版社名称已经存在'}) ret=models.Publisher.objects.create(name=pub_name) return redirect('/publisher_list/') return render(reqest,'publisher_add.html')

出版社删除

def publisher_del(request):    pk=request.GET.get('pk')    models.Publisher.objects.filter(pk=pk).delete()#查到对象删除    return redirect('/publisher_list/')

出版社编辑

前端

    
Title
新增出版社
{ { error }}

后端

def publisher_edit(request):    pk=request.GET.get('pk')    pub_obj=models.Publisher.objects.get(pk=pk)    if request.method=='GET':        return render(request,'publisher_edit.html',{
'pub_obj':pub_obj}) else: pub_name=request.POST.get('pub_name') pub_obj.name=pub_name pub_obj.save()#修改操作保存到数据库 return redirect('/publisher_list/')

转载地址:http://lwhzi.baihongyu.com/

你可能感兴趣的文章
RS232 四入四出模块控制代码
查看>>
linux 驱动开发 头文件
查看>>
container_of()传入结构体中的成员,返回该结构体的首地址
查看>>
ipconfig,ifconfig,iwconfig
查看>>
opensuse12.2 PL2303 minicom
查看>>
网络视频服务器移植
查看>>
Encoding Schemes
查看>>
移植QT
查看>>
如此调用
查看>>
计算机的发展史
查看>>
带WiringPi库的交叉编译如何处理一
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Spring事务的七种传播行为
查看>>
ES写入找不到主节点问题排查
查看>>
Java8 HashMap集合解析
查看>>
欢迎使用CSDN-markdown编辑器
查看>>
Android计算器实现源码分析
查看>>
Android系统构架
查看>>
Android 跨应用程序访问窗口知识点总结
查看>>
各种排序算法的分析及java实现
查看>>