博客
关于我
强烈建议你试试无所不能的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/

你可能感兴趣的文章
socket,accept函数解析
查看>>
今日互联网关注(写在清明节后):每天都有值得关注的大变化
查看>>
”舍得“大法:把自己的优点当缺点倒出去
查看>>
[今日关注]鼓吹“互联网泡沫,到底为了什么”
查看>>
[互联网学习]如何提高网站的GooglePR值
查看>>
[关注大学生]求职不可不知——怎样的大学生不受欢迎
查看>>
[关注大学生]读“贫困大学生的自白”
查看>>
[互联网关注]李开复教大学生回答如何学好编程
查看>>
[关注大学生]李开复给中国计算机系大学生的7点建议
查看>>
[茶余饭后]10大毕业生必听得歌曲
查看>>
gdb调试命令的三种调试方式和简单命令介绍
查看>>
C++程序员的几种境界
查看>>
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
查看>>
VUE-Vue.js之$refs,父组件访问、修改子组件中 的数据
查看>>
Vue-子组件改变父级组件的信息
查看>>
Python自动化之pytest常用插件
查看>>
Python自动化之pytest框架使用详解
查看>>
【正则表达式】以个人的理解帮助大家认识正则表达式
查看>>
性能调优之iostat命令详解
查看>>
性能调优之iftop命令详解
查看>>