zoukankan      html  css  js  c++  java
  • 11 基于django的图书管理系统 多表

    1、需求

    作业需求:
    1.列出图书列表、出版社列表、作者列表
    2.点击作者,会列出其出版的图书列表
    3.点击出版社,会列出旗下图书列表
    4.可以创建、修改、删除 图书、作者、出版社


    踩分点:
    1.满足需求1,2,3,4 得分85
    2.代码写的健壮、清晰,页面效果实现的好,得分90-95

    2、流程图

     

    3、README.md

    基于django的图书管理系统
    ---------------

    ### 一、概要

    欢迎您使用该图书管理系统,希望在您使用的过程中体验到便捷和愉快的使用感受,并对我们的软件提出您发现的问题和建议,谢谢。
    联系邮箱:liangshuo1994@outlook.com

    **注意事项:**

    1、相关文件说明:

    flow.png 项目流程图
    tree.txt 该项目的所有文件
    requirements.txt 依赖包文件
    img-floder 项目效果图

    2、环境安装:

    请您在python官网下载python3.5以上版本进行安装。

    3、当前程序的所有依赖包及其精确版本号。

    请您打开CMD控制台,到依赖包同目录下,执行:pip install -r requirements.txt

    4、测试用例文档给您提供了更好的测试思路,您可以通过测试用例达到更好的测试效果

    5、该项目博客地址:
    [http://www.cnblogs.com/venicid/p/9286796.html]

    6、github地址:
    [https://github.com/venicid/BMS]

    7、效果图

    ![BMS效果图](https://github.com/venicid/BMS/blob/master/img-floder/book_index.png)

    ### 二、需求与功能

    1、需求

    1) 列出图书列表、出版社列表、作者列表
    2) 点击作者,会列出其出版的图书列表
    3) 点击出版社,会列出其下的图书列表
    4) 可以创建、修改、删除 图书、作者、出版社

    2、功能实现概述

    login_reg模块
    1) 主页
    /
    2) 注册
    /reg/
    3) 登录
    /login/
    4) 注销
    /logout/
    book模块
    1)图书主页
    /book/index/
    2)图书操作
    /book/book_list/ # 图书list
    /book/add_book/ # 添加图书
    /book/edit_book/30/ # 编辑图书
    /delete_book/30/ # 删除图书
    3)作者操作
    /book/author_list/ # 作者list
    /book/add_author/ # 添加作者
    /book/edit_author/15/ # 编辑作者
    /book/delete_author/15/ # 删除作者
    /book/author2book/15/ # 查看该作者出版过的所有图书
    4)出版社操作
    /book/publish_list/ # 出版社list
    /book/add_publish/ # 添加出版社
    /book/edit_publish/16/ # 编辑出版社
    /book/delete_publish/16/ # 删除出版社
    /book/publish2book/16/ # 查看该出版社出版过的所有图书

    404错误
    /^.*/ # url not found



    ### 三、所用技术概述

    1、验证用户是否登录:用户认证组件

    实质:session会话跟踪技术
    from django.contrib import auth
    通过中间件auth_middleware.py,采用白名单,对url进行控制,替代装饰器@login_requierd,否则每一个函数都有要加装饰器。
    from django.utils.deprecation import MiddlewareMixin

    2、验证字段:表单forms组件

    对每个数据库中的字段进行校验,返回error
    from django import forms

    3、自定义分页器

    分页器Paginator.py
    解耦
    from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger

    4、记录日志log

    settings配置文件,终端打印sql语句
    mylog.py 日志文件,解耦,终端打印并在log文件记录用户操作
    import logging

    5、模板继承

    {% extends 'base.html' %}

    {% block site-header %}
    {% endblock %}


    6、ORM表关系

    一对一(author authordetail)
    删除author,对应删除authordetail表的信息

    一对多(book publish)
    删除出版社,关联删除出版过的所有的本书

    多对多(book author)
    删除author,不会删除该作者出版过的书


    7、注意点:

    1) 时区:
    settings.py配置
    # TIME_ZONE = 'UTC'
    TIME_ZONE = 'Asia/Shanghai'

    2) 静态文件目录
    STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static')
    ]



    ### 四、鸣谢

    感谢在开发过程中的老师和同学们的帮助。

    4、代码:github地址

    https://github.com/venicid/BMS

  • 相关阅读:
    angularjs1-8,cacheFactory,sce
    angularjs1-7,http,location
    angularjs1-7,供应商
    angularjs1-6,自定义服务
    UI设计师不可不知的安卓屏幕知识-安卓100分享
    k8s ingres 的安装与使用
    get、put、post、delete含义与区别
    [影像技术与PACS] 从技术角度看国内部份PACS厂商
    UML类图符号 各种关系说明以及举例
    理解 Delphi 的类(八)
  • 原文地址:https://www.cnblogs.com/venicid/p/9286796.html
Copyright © 2011-2022 走看看