zoukankan      html  css  js  c++  java
  • 基于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文件会比较慢,并不是后台的问题

    展示后修改说明

    • 削减掉了首页点击「日历」后要登录才能跳转的功能,不会出现点击几次蜜汁登录不上的情况
  • 相关阅读:
    maven系列--eclipse的m2插件
    eclipse安装反编译插件
    maven系列--settings.xml
    maven系列--maven常用命令
    maven系列--maven目录
    centos 常用命令
    iis7.0 发生未知 FastCGI错误,错误代码 0x8007010b 的解决办法
    git 提交的步骤
    关于PHP函数传参的注意点
    关于SQL查询语句中的LIKE模糊查询的解释
  • 原文地址:https://www.cnblogs.com/vanellopeblog/p/calendar.html
Copyright © 2011-2022 走看看