基於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文件會比較慢,並不是后台的問題

展示后修改說明

  • 削減掉了首頁點擊「日歷」后要登錄才能跳轉的功能,不會出現點擊幾次蜜汁登錄不上的情況


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM