目录

  • 图书管理系统:

    • day54 文件夹:

      • settings.py:
      • urls.py
    • migrations文件夹
      • __ init __
      • models.py:
      • views.py
    • static文件夹
    • templates 文件夹
      • add_book.html
      • book_list.html
      • edit_book.html
      • home.html
  • 图书管理系统图片分析
    • 1.创建数据库名
    • 2.配置文件连接数据库:
    • 3.数据表:
    • 4.执行两条命令:
    • 5.给表添加对应值:
      • 出版社:
      • 书籍:
      • 数据关系:
    • 首页搭建
      • home.html:
      • 建一个文件夹static:导入:
      • 复制相应导航条
      • 列表组
      • 巨幕:
    • 展示页:
      • urld.py
      • book.list.py
    • 书籍添加页
      • add_cook.py
    • 书籍编辑页
      • edit.book.py
    • 删除页:

图书管理系统:

day54 文件夹:

settings.py:

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': "BMS",'USER':'root','PASSWORD':'123','HOST':'127.0.0.1','PORT':3306,'CHARSET':'utf8'}
}
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')
]

urls.py

from django.conf.urls import url
from django.contrib import admin
from app01 import viewsurlpatterns = [url(r'^admin/', admin.site.urls),# 首页url(r'^$',views.home,name='home'),# 书籍展示页url(r'^book_list/',views.show_book,name='show'),# 书籍添加页url(r'^add_book/',views.add_book,name='add'),# 书籍编辑页url(r'^edit_book/(?P<edit_id>\d+)/',views.edit_book,name='edit'),# 书籍删除页url(r'^delete_book/(\d+)/',views.delete_book,name='delete')
]

migrations文件夹

__ init __

import pymysql
pymysql.install_as_MySQLdb()

models.py:

from django.db import models# Create your models here.class Book(models.Model):title = models.CharField(max_length=32)price = models.CharField(max_length=32)publish_time = models.DateField(auto_now_add=True)publish = models.ForeignKey(to='Publish')authors = models.ManyToManyField(to='Author')class Publish(models.Model):name = models.CharField(max_length=32)addr = models.CharField(max_length=64)class Author(models.Model):name = models.CharField(max_length=32)age = models.IntegerField()author_detail = models.OneToOneField(to='AuthorDetail')class AuthorDetail(models.Model):phone = models.BigIntegerField()addr = models.CharField(max_length=64)

views.py

from django.shortcuts import render,reverse,redirect
from app01 import models
# Create your views here.def home(request):return render(request,'home.html')def show_book(request):# 获取书籍表中所有的书展示到前端book_queryset = models.Book.objects.all()return render(request,'book_list.html',locals())def add_book(request):if request.method == 'POST':title = request.POST.get('title')price = request.POST.get('price')publish_time = request.POST.get('publish_time')publish_id = request.POST.get('publish')authors_list = request.POST.getlist('authors')# 操作数据库# 书籍表book_obj = models.Book.objects.create(title=title,price=price,publish_time=publish_time,publish_id=publish_id)# 书籍与作者关系表book_obj.authors.add(*authors_list)# 重定向到书籍展示页_url = reverse('show')return redirect(_url)# 将网站出版社和作者查询出来展示到前端供用户选择publish_queryset = models.Publish.objects.all()author_queryset = models.Author.objects.all()return render(request,'add_book.html',locals())def edit_book(request,edit_id):# 先获取用户想要编辑的对象  展示给用户看  用户在基于原书籍进行修改edit_obj = models.Book.objects.filter(pk=edit_id).first()if request.method == 'POST':title = request.POST.get('title')price = request.POST.get('price')publish_time = request.POST.get('publish_time')publish_id = request.POST.get('publish')authors_list = request.POST.getlist('authors')models.Book.objects.filter(pk=edit_id).update(title=title,price=price,publish_time=publish_time,publish_id=publish_id)edit_obj.authors.set(authors_list)# 重定向到书籍展示页_url = reverse('show')return redirect(_url)publish_queryset = models.Publish.objects.all()author_queryset = models.Author.objects.all()return render(request,'edit_book.html',locals())def delete_book(request,delete_id):models.Book.objects.filter(pk=delete_id).delete()# 重定向到书籍展示页_url = reverse('show')return redirect(_url)

static文件夹

去settings中设置STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')
]

templates 文件夹

add_book.html

{% extends 'home.html' %}{% block content %}<h2 class="text-center">添加书籍</h2><form action="" method="post"><p>书名:<input type="text" name="title" class="form-control"></p><p>价格:<input type="text" name="price" class="form-control"></p><p>出版日期:<input type="date" name="publish_time" class="form-control"></p><p>出版社:<select name="publish" id="" class="form-control">{% for publish_obj in publish_queryset %}<option value="{{ publish_obj.pk }}">{{ publish_obj.name }}</option>{% endfor %}</select></p><p>作者:<select name="authors" id="" class="form-control" multiple>{% for author_obj in author_queryset %}<option value="{{ author_obj.pk }}">{{ author_obj.name }}</option>{% endfor %}</select></p><input type="submit" class="btn btn-primary pull-right"></form>
{% endblock %}

book_list.html

{% extends 'home.html' %}{% block content %}<div><a href="{% url 'add' %}" class="btn btn-success">新增</a></div><br><table class="table table-striped table-hover"><thead><tr><th>序号</th><th>书名</th><th>价格</th><th>出版日期</th><th>出版社</th><th>作者</th><th>操作</th></tr></thead><tbody>{% for book_obj in book_queryset %}<tr><td>{{ forloop.counter }}</td><td>{{ book_obj.title }}</td><td>{{ book_obj.price }}</td><td>{{ book_obj.publish_time|date:'Y-m-d' }}</td><td>{{ book_obj.publish.name }}</td><td>{% for author_obj in book_obj.authors.all %}{% if forloop.last %}{{ author_obj.name }}{% else %}{{ author_obj.name }},{% endif %}{% endfor %}</td><td><a href="{% url 'edit' book_obj.pk %}" class="btn btn-primary btn-sm">编辑</a><a href="{% url 'delete' book_obj.pk %}" class="btn btn-danger btn-sm">删除</a></td></tr>{% endfor %}</tbody></table><nav aria-label="Page navigation" class="text-center"><ul class="pagination"><li><a href="#" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li><li><a href="#">1</a></li><li><a href="#">2</a></li><li><a href="#">3</a></li><li><a href="#">4</a></li><li><a href="#">5</a></li><li><a href="#" aria-label="Next"><span aria-hidden="true">&raquo;</span></a></li></ul>
</nav>
{% endblock %}

edit_book.html

{% extends 'home.html' %}{% block content %}<h2 class="text-center">编辑书籍</h2><form action="" method="post"><p>书名:<input type="text" name="title" class="form-control" value="{{ edit_obj.title }}"></p><p>价格:<input type="text" name="price" class="form-control" value="{{ edit_obj.price }}"></p><p>出版日期:<input type="date" name="publish_time" class="form-control" value="{{ edit_obj.publish_time|date:'Y-m-d' }}"></p><p>出版社:<select name="publish" id="" class="form-control">{% for publish_obj in publish_queryset %}{% if edit_obj.publish == publish_obj %}<option value="{{ publish_obj.pk }}" selected>{{ publish_obj.name }}</option>{% else %}<option value="{{ publish_obj.pk }}">{{ publish_obj.name }}</option>{% endif %}{% endfor %}</select></p><p>作者:<select name="authors" id="" class="form-control" multiple>{% for author_obj in author_queryset %}{% if author_obj in edit_obj.authors.all %}<option value="{{ author_obj.pk }}" selected>{{ author_obj.name }}</option>{% else %}<option value="{{ author_obj.pk }}">{{ author_obj.name }}</option>{% endif %}{% endfor %}</select></p><input type="submit" class="btn btn-warning pull-right"></form>
{% endblock %}

home.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>{% load static %}<link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}"><script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script>
</head>
<body>
<nav class="navbar navbar-inverse"><div class="container-fluid"><!-- Brand and toggle get grouped for better mobile display --><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand" href="#">BMS</a></div><!-- Collect the nav links, forms, and other content for toggling --><div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"><ul class="nav navbar-nav"><li class="active"><a href="#">图书 <span class="sr-only">(current)</span></a></li><li><a href="#">出版社</a></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多 <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">Separated link</a></li><li role="separator" class="divider"></li><li><a href="#">One more separated link</a></li></ul></li></ul><form class="navbar-form navbar-left"><div class="form-group"><input type="text" class="form-control" placeholder="Search"></div><button type="submit" class="btn btn-default">Submit</button></form><ul class="nav navbar-nav navbar-right"><li><a href="#">Jason</a></li><li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多操作 <span class="caret"></span></a><ul class="dropdown-menu"><li><a href="#">Action</a></li><li><a href="#">Another action</a></li><li><a href="#">Something else here</a></li><li role="separator" class="divider"></li><li><a href="#">Separated link</a></li></ul></li></ul></div><!-- /.navbar-collapse --></div><!-- /.container-fluid -->
</nav>
<div class="container-fluid"><div class="row"><div class="col-md-3"><div class="list-group"><a href="{% url 'home' %}" class="list-group-item active">首页</a><a href="{% url 'show' %}" class="list-group-item">图书列表</a><a href="#" class="list-group-item">出版社列表</a><a href="#" class="list-group-item">作者列表</a><a href="#" class="list-group-item">更多操作</a></div></div><div class="col-md-9"><div class="panel panel-primary"><div class="panel-heading"><h3 class="panel-title">BMS</h3></div><div class="panel-body">{% block content %}<div class="jumbotron"><h1>欢迎来到亚洲最大的线上BMS系统</h1><p>更多惊喜去扫码关注个人微信公众号</p><p><a class="btn btn-primary btn-lg" href="#" role="button">点我有你好看~</a></p></div>{% endblock %}</div></div></div></div>
</div>
</body>
</html>

图书管理系统图片分析

1.创建数据库名

2.配置文件连接数据库:

3.数据表:


4.执行两条命令:

5.给表添加对应值:


出版社:

书籍:

数据关系:

首页搭建

home.html:


建一个文件夹static:导入:


复制相应导航条

列表组


巨幕:

展示页:

urld.py


book.list.py







书籍添加页

add_cook.py



书籍编辑页

edit.book.py

删除页:

django图书管理系统:相关推荐

  1. python django图书管理系统_Python框架:Django写图书管理系统(LMS)

    Django模版文件配置 文件路径 test_site -- test_site -- settings.py TEMPLATES = [ { 'BACKEND': 'django.template. ...

  2. 使用django创建一个单表查询的图书管理系统

    使用django创建一个单表查询的图书管理系统 在settings.py文件中添加(用于连接mysql数据库) DATABASES = {'default': {'ENGINE': 'django.d ...

  3. Django(part39)--制作图书管理系统

    学习笔记,仅供参考,有错必究 文章目录 制作图书管理系统 第一步 第二步 第三步 制作图书管理系统 我们基于上一个博客Django(part38)–制作登录界面的mywebsite_bookstore ...

  4. 系统业务逻辑书籍_Python框架:Django写图书管理系统(LMS)

    今天我会带大家真正写一个Django项目,对于入门来说是有点难度的,因为逻辑比较复杂,但是真正的知识就是函数与面向对象,这也是培养用Django思维写项目的开始 Django文件配置 Django模版 ...

  5. Python框架:Django写图书管理系统(LMS)

    今天我会带大家真正写一个Django项目,对于入门来说是有点难度的,因为逻辑比较复杂,但是真正的知识就是函数与面向对象,这也是培养用Django思维写项目的开始 Django文件配置 Django模版 ...

  6. python实现gui+mysql图书管理系统_用Python Django框架写一个图书管理系统LMS

    今天我会带大家真正写一个Django项目,对于入门来说是有点难度的,因为逻辑比较复杂,但是真正的知识就是函数与面向对象,这也是培养用Django思维写项目的开始 Django文件配置 Django模版 ...

  7. Django教程 —— 初步完善图书管理系统

    引言 在 Django模型设计 中我们只设计了一个BookInfo模型类,内容好单调,接下来我们初步完善一下BMSTes图书管理系统. 模型设计 我们写项目写东西的时候都要养成良好的习惯,不要一来就上 ...

  8. Django 第九课 【图书管理系统案例】

    目标网络样式 1:创建项目 #1.1终端配好相关虚拟环境 workon [虚拟环境] #1.2配置相关库文件 pip install [库] #1.3打开pycharm软件,新建Django项目,选择 ...

  9. 基于docker搭建django的web图书管理系统

    一.概要 本次将使用docker搭建一个基于django框架的图书管理系统,本次用到的技术包括: docker基本命令: 数据卷挂载: dockerfile编写: docker网络技术: django ...

最新文章

  1. php 读取excel转html,PHPExcel 转HTML
  2. 怎样实现前端裁剪上传图片功能
  3. 认识哈希函数(散列函数)
  4. android websocket封装,Android WebSocket 方案选型OkHttp
  5. 用Mockito回答
  6. php 分布式数据库查询,分布式数据库 · Thinkphp5.0完全开发手册 · 看云
  7. Android中scrollview的scrollto方法不起作用的办法
  8. 未检测到其他显示器_如何将 Surface 连接到电视、显示器或投影仪,我教你
  9. Exchange 2010 OWA 无法使用关键字搜索
  10. [Ext JS4系列]Ext JS4 入门
  11. java 中文乱码的解决方法
  12. 点云的无序性_三维点云分类与分割-PointNet
  13. 技嘉H81M-DS2 主板安装 XP方法,及网卡驱动安装
  14. python开发企业微信应用,使用Python发送企业微信消息
  15. excel中将两列交叉合并为一列
  16. HC32F460 浮点运算开启
  17. 基于echarts 24种数据可视化展示,填充数据就可用,动手能力强的还可以DIY(演示地址+下载地址)
  18. 院内导航方案怎么样,低成本的智慧医院室内导航一站式解决方案
  19. codeforces 14E. Camels(多维dp)
  20. 2022 Apache IoTDB 物联网生态大会即将举办,各社区免费获票通道开启!

热门文章

  1. MPLS+BGP产生的数据层面的路由黑洞详解
  2. Linux网卡名称命名
  3. 离散傅里叶级数与离散傅里叶变换
  4. html5猜大王游戏,水果大王小游戏
  5. 电控无碳小车需要单片机吗_智能避障无碳小车-精选文档
  6. JSP婚纱影楼管理系统myeclipse开发sql数据库bs框架java编程jdbc
  7. 入手评测 i911900h和r75800h选哪个好
  8. 情人节程序员用HTML网页表白【粉红爱心表白】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  9. java实现移动云mas短信对接
  10. 单晶高温合金晶体取向的影响因素及调控机制