码迷,mamicode.com
首页 > 其他好文 > 详细

管理信息系统课程设计

时间:2018-06-15 23:30:32      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:对象   时间   种类   基础   post   上传头像   网站   流程   inpu   

  1. 系统概要说明

该网站是由Python+Flask+MysqL的web建设技术开发的。本系统是一个论坛网站,集个人、评论于一身。未注册的用户只可以浏览文章,注册成为该系统的用户,可以发表文章、评论,上传头像,修改密码,点赞收藏,并且对此作样式修改。

系统目标:对系统有一个整体的认识,包括每个功能实现的流程,产生的数据,技术基础等

进行概要设计:

1、设计系统的总体架构

2、利用顺序图描述基于该架构下各个类如何协作实现各个待开发的功能

3、整理总结出数据字典

4、对每一个功能进行检查并且改善

          2 . 网站结构设计

 技术分享图片

 

主体是首页,链接各个功能页面,每个功能都有相应的html页面。

             3.   模块详细设计

注册

技术分享图片技术分享图片

js文件:在页面当中,<form>中设置 action和method="post",<input> 中设置 name

在主py文件中,设置方法,将username和password存入数据库

登陆

技术分享图片技术分享图片

判断在主py文件:@app.route设置login methods,GET的方法得到页面,POST发回读取表单数据,username和password是否对应数据库中的,如果符合就允许进入;不符合的话,就提示错误不给进入。

提问

 技术分享图片技术分享图片

 

 

在发布页面,在form设置action和method,通过主py文件session.add将提问中的title、detail、author_id、cf存入到数据库中的question表

组合搜索

 技术分享图片技术分享图片

 

 

根据对应文章的名字title与文章内容detail传值来获取相关搜索的文章

更换头像

 技术分享图片技术分享图片

 

 

在指定的文件夹下面将相对应的文件传入数据库再传递到前端(uploads/f.filename)

更换密码

 技术分享图片技术分享图片

 

 

先获得原来user.id的password值,然后再将一个新的password提交上去,更换数据库里面password的值

             4. 数据库设计

该博客系统使用了Navicat for MySQL 的软件,在mysql创建数据库。

建立mysql和app的连接,在数据库配置信息config.py中加入以下配置。

在config.py中加入以下两项配置:

SQLALCHEMY_DATABASE_URI= = ‘mysql+pymysql://root:xxxxx@localhost:3306/mis?charset=utf8‘

SQLALCHEMY_TRACK_MODIFICATIONS = False

 技术分享图片

 

在主py(mis1515.py)中加入

import config

app.config.from_object(‘config‘)

db = SQLAlchemy(app)

测试是否连接成功 db.create_all()

 

 

各个表的数据类型

 技术分享图片

 

收藏表:用户可以收藏喜欢的文章,字段包括该收藏的文章id,用户id

 技术分享图片

 

评论表:字段包括评论的用户id,问题的id及其评论内容

 技术分享图片

 

问答表:字段包括标题,内容,发表的用户,文章的分类名,浏览数,点赞数

 技术分享图片

 

用户表:字段为用户名,密码,评论次数,用户头像

 技术分享图片

  1. 1.        系统实现的关键算法与数据结构

1.1加密算法

数据库中直接存放明文密码是很危险的,Werkzeug库中的security能够方便的实现散列密码的计算

security库中 generate_password_hash(password,method...)函数将原始密码作为输入,以字符串形式输出密码的散列值。check_password_hash(hash,password)函数检查给出的hash密码与明文密码是否相符;

技术分享图片

1.2排序算法

本网站分别根据时间(‘-creat_time‘)与点击数(‘-click‘)通过迭代进行排序。

 技术分享图片

 

1.3 Array-数组  

二位数组是一种最简单的数据结构,一张数据库表就可以看成是一个二维数组

这个二维数组就代表一张有行和列的表结构:

1、每一行代表一个对象。

2、每一行所有列代表一个对象的所有属性。

3、每一列固定存储某一种类型的数据(如:integer、string、date…)。

尽管,二维数组用于存储表数据非常好,但是当你需要从数组中根据某个条件查询数据时性能无法接受。

技术分享图片

成品展示

首页

 技术分享图片

 

注册

 技术分享图片

 

登陆

 技术分享图片

 

问答

 技术分享图片

 

热门推荐

 技术分享图片

 

分类

 技术分享图片

 

帖子在首页布局

 技术分享图片

 

 

详情 点赞 收藏

 技术分享图片

 

推荐文章

 技术分享图片

 

用户评论

 技术分享图片

 

更改头像 更改密码

 技术分享图片

 

 

 

 

搜索组合

 技术分享图片

 

个人信息界面

 技术分享图片

 

个人信息统计

 技术分享图片

 

资料信息来源于:博客园

 

管理信息系统课程设计

标签:对象   时间   种类   基础   post   上传头像   网站   流程   inpu   

原文地址:https://www.cnblogs.com/Sun584125503/p/9188208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!