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

你可能感兴趣的文章
c++模板与泛型编程
查看>>
WAV文件解析
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
WPF UI&控件免费开源库
查看>>
QT打开项目提示no valid settings file could be found
查看>>
Win10+VS+ESP32环境搭建
查看>>
android 代码实现圆角
查看>>
flutter-解析json
查看>>
android中shader的使用
查看>>
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>
drat中构造方法
查看>>
JavaScript的一些基础-数据类型
查看>>
JavaScript基础知识(2)
查看>>
转载一个webview开车指南以及实际项目中的使用
查看>>
android中对于非属性动画的整理
查看>>
一个简单的TabLayout的使用
查看>>
ReactNative使用Redux例子
查看>>
Promise的基本使用
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming 输出每一行句子的第三个单词
查看>>