基于Python Flask的web日程管理系统

日程管理系统文档

本学期的软件工程作业,使用Flask框架做了一个日程管理系统。其中数据库的部署和效果展示在B站有视频解说,戳我去B站
源码在Github仓库可查看。

建模图例

  • 代码中,一共有两个主要的class,分别为用户(User)和日程(Event)。每个表单也是一个class,继承于FlaskForm。
  • 具体展示页面和使用方法已经在展示视频中给出。

活动图

登录活动图

添加/修改日程活动图

用例图

img

顺序图

登录顺序图

添加/修改日程顺序图

img

类图

image-20200403223841095

状态图

用户状态图

image-20200406203806625

日程状态图

image-20200406203830136

系统部署说明

简介

  • 后端使用Python3.6.8,前端用了Bootstrap模板
  • Flask框架以及插件和版本如下所示(命令行在后面)
  SQLAlchemy          1.3.15
  sqlalchemy-migrate  0.13.0
  Werkzeug            0.16.0
  Flask               1.1.1
  Flask-Babel         1.0.0
  Flask-Bootstrap     3.3.7.1
  Flask-Datepicker    0.12
  Flask-Login         0.4.1
  Flask-Mail          0.9.1
  Flask-Migrate       2.2.1
  flask-mongoengine   0.9.5
  Flask-OpenID        1.2.5
  Flask-Script        2.0.6
  Flask-SQLAlchemy    2.3.2
  Flask-WhooshAlchemy 0.56
  Flask-WTF           0.14.2
  Jinja2              2.10.3
  WTForms             2.2.1

1. 配置环境Bash命令

cd Calendar	# 进入代码所在目录
pip3 install virtualenv
virtualenv calendar_flask # 为了避免混乱,创建一个虚拟环境
source calendar_flask/bin/activate #激活该虚拟环境
# pip --version 查看版本是3.6即可继续安装
pip install -r requirement.txt #安装依赖包

2. 修改代码中读取sqlite数据库文件为绝对路径

main.py文件中,这一行需要修改:

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////database.db'
# 注意这里要求database.db文件路径为绝对路径
# 例如:
# app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////Users/wangshanshan/Desktop/Calendar/database.db'

3. 初始化数据库后开始运行

# 接着上面的Bash命令
sqlite3 database.db  # 建立数据库文件
.exit
# ---- 分割线 ----
python3 			 # 根据系统不同可能使用python或者py
from main import db 
db.drop_all()
db.create_all()
quit()				# 完成数据库初始化

python3 main.py    # 开始运行

【Tips】网络连接需要

  • 可能需要稳定的network环境,不然第一次加载html中使用的一些在线JS/CSS文件会比较慢,并不是后台的问题

展示后修改说明

  • 削减掉了首页点击「日历」后要登录才能跳转的功能,不会出现点击几次蜜汁登录不上的情况

猜你喜欢

转载自www.cnblogs.com/vanellopeblog/p/calendar.html