django实训项目——图书管理系统
(一)创建Django项目 - books
- 设置Django项目的位置与名称
(二)、创建app应用
1.在终端中执行:python manage.py startapp apps
2.向setting模块中,注册app
(三)、创建数据库,并进行配置
1.打开Navicat Premium,创建数据库
2.在主路由setting中,配置数据库
(四)、编写apps的models模块
1、执行数据迁移
- 在控制台依次执行两条数据迁移命令,生成数据表
- 查看数据库,总迁移了11张表
(五)、配置books下的urls
1.在apps下创建urls模块,并配置路由链接视图函数
2.apps.views视图模块中编写视图函数
to_add_publisher:作用是项目在页面上运行,链接到add_publisher页面
add_publisher:根据method提交的方法获取表单中的内容,把获取到的数据保存到数据库中,并进行查询,跳转渲染到publisher_list页面
publisher_list:显示渲染的数据
(六)、创建静态页面
在templates文件下,创建add_publisher,publisher_list两个静态页面
编写两个静态页面的结构
{% for publisher in publishers %}:遍历在add_publisher视图中从页面添加到数据库中的数据,并渲染到publisher_list页面
运行项目:
点击提交,跳转到publisher_list页面
查看数据库是否添加进数据
(七)编写页面结构
1.创建base.html页面,整个项目的主页面
2.利用bootstrap样式编写结构
- 在浏览器中打开网址:www.bootcss.com
- 点击Bootstrap4中文文档,进入页面,点击下载
- 在项目目录下创建文件夹static,把文件解压到文件夹里
- 在主页面base中引用bootstrap样式
运行项目,控制台报错,原因是引用文件找不到
解决方法:在books下的setting.py下,添加以下代码
3.创建导航栏页面:nav.html
(1).编写导航栏页面,在bootstrap4的组件模块中的导航栏部分复制代码:
(2).在nav.html中修改成自己想要的样式
(3).在主页面base.html中引用nav.html
4.在base中添加标题栏和主功能模块
(1)在add_publisher下,添加代码,利用{% extends "base.html" %}继承母模板
(2)、跟以上步骤一样,修改publisher_list静态页面
点击"新增按钮"返回add_publisher页面
(八)、修改出版社
1.在apps.urls添加路由
2.写两个视图函数
3.静态页面edit_publisher页面
4.在publisher_list页面的修改和删除两个a标签里添加跳转的页面
5.添加删除视图路由和函数
在这里就又出现了一个问题:当修改过后返回publisher_list页面,在点击修改或者删除一条记录后再修改,会在修改路由前面加上上一步操作的路由
解决方法:
在publisher_list静态文件的a标签的to_edit/前面再加上一个/
(九)、添加,修改,删除图书列表
(一)、图书列表models
- 生成迁移文件
- 迁移数据库
查看数据表
1.编写图书列表的models
2.配置图书列表的路由
3.编写book_list视图函数
4. 创建三个图书静态页面:book_list图书列表,add_book添加图书,edit_book修改页面
5.编写静态页面的结构,也出版社列表页面一样
book_list:
运行页面:
6.添加图书
(1) 、配置路由
(2)、编写添加图书的视图函数
(3)、add_book.html静态页面结构
运行界面:
点击提交按钮,返回图书列表
7、修改图书列表
(1)添加修改的路由
- 修改图书配置两个路由,to_book获取id再跳转到edit_book
运行界面:
8、删除图书
(1)、添加删除图书路由
(2)、编写删除视图函数
运行界面:
(十)、在nav.html导航栏修改链接,可以点击跳转到图书列表和出版社列表
django实训项目——图书管理系统相关推荐
- 【综合实训】图书管理系统——需求规格说明书
[备注]本说明书由华中农业大学2018级计算机科学与技术专业的刘铠铭.崔凌浩.卢家伟三位同学共同完成. 文章目录 1 引言 1.1 编写目的 1.2 背景 1.3 术语和缩略词 1.4 参考资料 2 ...
- Django实训:图书信息管理系统
文章目录 一.功能实现 二.实现步骤 (一)创建Django项目 - books (二)创建并注册应用 - index 1. 创建index应用 2. 注册index应用 (三)创建数据库 - boo ...
- python实训项目-黑马程序员上海校区Python21期Django项目实训
黑马程序员上海中心 月薪一万只是起点 关注 晚上十点,一名名Python学生正在酣畅淋漓地撸代码,手指不间断地敲击着键盘,发出机械而清脆的声音. 各个小组在经过为期4天的django项目小组开发,终于 ...
- Github 精选开源项目-图书管理系统
Github 精选开源项目-图书管理系统 项目是一款图书管理系统[Book-manager],适用于大学生实训的图书管理系统,这是一个非常精简化的图书管理系统,可拓展性高,集成主流框架. 首先放出Gi ...
- Django实训-学生管理系统
文章目录 项目总述 1,功能分析 增加学生记录,查询学生记录,修改学生记录,删除学生记录 2,需求分析 可以查询个人学生信息,包括根据学号查询学习基本情况和选课信息 可以更省时间的查询信息 一.创建D ...
- Java实训项目--小型书店管理系统(ssm框架)
系列文章目录 MyBatis专栏: 一:Java实训项目–小型图书管理系统(ssm框架) 二:"spring与mybatis整合"考试题目测试与解析 三:"SSM框架整合 ...
- 2020年Java实训项目【GUI学生信息管理系统】目录
Java实训项目1:GUI学生信息管理系统 - 实训概述 Java实训项目2:GUI学生信息管理系统 - 系统概述 Java实训项目3:GUI学生信息管理系统 - 涉及知识点 Java实训项目4:GU ...
- Java实训项目1:GUI学生信息管理系统 - 实训概述
文章目录 一.实训概述 1.实训目的 2.实训项目简介 3.项目开发思维导图 4.实训日志模板 5.实训报告模板 6.实训考核标准 一.实训概述 1.实训目的 让学生综合运用J2SE有关知识开发[学生 ...
- Java实训项目:GUI学生信息管理系统(2019)【下】
Java实训项目:GUI学生信息管理系统(2019)[下] 本篇目录 六.实现步骤 13.应用程序类 14.窗口界面类(JFrame)
最新文章
- 733.图像渲染(主讲题意)
- 理解JavaScript中的事件
- OFFICE OUTLOOK 2007 如何设置开机自动启动
- (pytorch-深度学习系列)简单实现kaggle房价预测-学习笔记
- 个人对stacking的思想理解
- javascript中使用 闭包重载函数,记录日志功能
- SpringBoot + MyBatis 之 Hello World
- 局域网IP扫描工具-OpUtils
- 微服务框架自带uuid生成器
- 2014最新开源微信源码 支持二次开发,微信对接公众平台多用户程序 全面体验
- 微软:2022 年开始,Win10 PC 设备才能免费升级 Win11
- 乐观锁实现之CAS算法分析
- wampServer虚拟主机配置
- python 列表 元组_python基础:元组(tuple)列表(list)介绍
- mosaic数据增强
- Chrome浏览器 设置跨域访问
- 最全小说资源网——连载阅读升级版(亲测好用)
- python word保存图_使用python matplotlib 画图导入到word中如何保证分辨率
- 支付宝H5支付(手机网站支付)
- python 收音机