django图书管理系统:
目录
- 图书管理系统:
- day54 文件夹:
- settings.py:
- urls.py
- migrations文件夹
- __ init __
- models.py:
- views.py
- static文件夹
- templates 文件夹
- add_book.html
- book_list.html
- edit_book.html
- home.html
- day54 文件夹:
- 图书管理系统图片分析
- 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">«</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">»</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图书管理系统:相关推荐
- python django图书管理系统_Python框架:Django写图书管理系统(LMS)
Django模版文件配置 文件路径 test_site -- test_site -- settings.py TEMPLATES = [ { 'BACKEND': 'django.template. ...
- 使用django创建一个单表查询的图书管理系统
使用django创建一个单表查询的图书管理系统 在settings.py文件中添加(用于连接mysql数据库) DATABASES = {'default': {'ENGINE': 'django.d ...
- Django(part39)--制作图书管理系统
学习笔记,仅供参考,有错必究 文章目录 制作图书管理系统 第一步 第二步 第三步 制作图书管理系统 我们基于上一个博客Django(part38)–制作登录界面的mywebsite_bookstore ...
- 系统业务逻辑书籍_Python框架:Django写图书管理系统(LMS)
今天我会带大家真正写一个Django项目,对于入门来说是有点难度的,因为逻辑比较复杂,但是真正的知识就是函数与面向对象,这也是培养用Django思维写项目的开始 Django文件配置 Django模版 ...
- Python框架:Django写图书管理系统(LMS)
今天我会带大家真正写一个Django项目,对于入门来说是有点难度的,因为逻辑比较复杂,但是真正的知识就是函数与面向对象,这也是培养用Django思维写项目的开始 Django文件配置 Django模版 ...
- python实现gui+mysql图书管理系统_用Python Django框架写一个图书管理系统LMS
今天我会带大家真正写一个Django项目,对于入门来说是有点难度的,因为逻辑比较复杂,但是真正的知识就是函数与面向对象,这也是培养用Django思维写项目的开始 Django文件配置 Django模版 ...
- Django教程 —— 初步完善图书管理系统
引言 在 Django模型设计 中我们只设计了一个BookInfo模型类,内容好单调,接下来我们初步完善一下BMSTes图书管理系统. 模型设计 我们写项目写东西的时候都要养成良好的习惯,不要一来就上 ...
- Django 第九课 【图书管理系统案例】
目标网络样式 1:创建项目 #1.1终端配好相关虚拟环境 workon [虚拟环境] #1.2配置相关库文件 pip install [库] #1.3打开pycharm软件,新建Django项目,选择 ...
- 基于docker搭建django的web图书管理系统
一.概要 本次将使用docker搭建一个基于django框架的图书管理系统,本次用到的技术包括: docker基本命令: 数据卷挂载: dockerfile编写: docker网络技术: django ...
最新文章
- php 读取excel转html,PHPExcel 转HTML
- 怎样实现前端裁剪上传图片功能
- 认识哈希函数(散列函数)
- android websocket封装,Android WebSocket 方案选型OkHttp
- 用Mockito回答
- php 分布式数据库查询,分布式数据库 · Thinkphp5.0完全开发手册 · 看云
- Android中scrollview的scrollto方法不起作用的办法
- 未检测到其他显示器_如何将 Surface 连接到电视、显示器或投影仪,我教你
- Exchange 2010 OWA 无法使用关键字搜索
- [Ext JS4系列]Ext JS4 入门
- java 中文乱码的解决方法
- 点云的无序性_三维点云分类与分割-PointNet
- 技嘉H81M-DS2 主板安装 XP方法,及网卡驱动安装
- python开发企业微信应用,使用Python发送企业微信消息
- excel中将两列交叉合并为一列
- HC32F460 浮点运算开启
- 基于echarts 24种数据可视化展示,填充数据就可用,动手能力强的还可以DIY(演示地址+下载地址)
- 院内导航方案怎么样,低成本的智慧医院室内导航一站式解决方案
- codeforces 14E. Camels(多维dp)
- 2022 Apache IoTDB 物联网生态大会即将举办,各社区免费获票通道开启!