寫個 flask todo app,簡潔,實用

- 此項目雖然看起來簡單,實際上,修改成自己喜歡的樣子,也是費時間的。
- 別人都搞AI 相關的項目,而我還是搞這種基礎的東西。不要灰心。
- 積累。不論項目大小,不論難易,只看是否有用。

項目地址: https://github.com/buxuele/flask_todo_app

請添加圖片描述

項目概述

這是一個基于 Flask 框架開發的現代化 Todo 應用,專為個人任務管理而設計。應用采用簡潔的界面設計和直觀的操作方式,幫助用戶高效管理日常任務。

核心功能

📅 按日期管理任務

  • 日期導航:左側邊欄顯示過去 7 天的日期,方便快速切換查看不同日期的任務
  • 智能顯示:自動識別"今天"、“昨天”、"明天"等相對日期
  • 歷史記錄:保留歷史任務記錄,便于回顧和跟蹤

? 完整的任務操作

  • 添加任務:快速添加新任務到當前選中日期
  • 完成標記:雙擊任務內容即可標記完成/未完成狀態
  • 在線編輯:雙擊任務可直接編輯內容,支持實時保存
  • 刪除任務:一鍵刪除不需要的任務
  • 時間記錄:自動記錄任務創建時間和完成時間

📄 導出功能

  • Markdown 導出:將指定日期的任務導出為格式化的 Markdown 文件
  • 分類整理:導出文件自動將任務分為"待完成"和"已完成"兩個部分
  • 統計信息:包含任務總數和完成情況統計

🎨 用戶體驗

  • 響應式設計:支持桌面和移動設備訪問
  • 可折疊側邊欄:節省屏幕空間,專注任務管理
  • 美觀界面:采用暖色調設計,使用自定義字體,提供舒適的視覺體驗
  • 快捷操作:支持鍵盤快捷鍵,提高操作效率

技術架構

后端技術棧

  • Flask:輕量級 Web 框架,提供 RESTful API
  • SQLAlchemy:數據庫 ORM,管理任務數據
  • SQLite:輕量級數據庫,存儲在 instance/todos.db

前端技術棧

  • 原生 JavaScript:無框架依賴,純凈高效
  • Bootstrap 5:響應式 UI 組件庫
  • 自定義 CSS:個性化界面設計

項目結構

flask_todo_app/
├── app.py              # Flask 應用主文件
├── routes.py           # API 路由定義
├── models.py           # 數據模型
├── config.py           # 配置文件
├── templates/          # HTML 模板
│   └── index.html      # 主頁面
├── static/             # 靜態資源
├── instance/           # 數據庫文件
├── docs/               # 導出的 Markdown 文件
└── requirements.txt    # 依賴包列表

快速開始

環境要求

  • Python 3.7+
  • pip 包管理器

安裝步驟

  1. 克隆項目

    git clone [項目地址]
    cd flask_todo_app
    
  2. 安裝依賴

    pip install -r requirements.txt
    
  3. 初始化數據庫

    python init_db.py
    
  4. 啟動應用

    python app.py
    

    或者直接運行批處理文件:

    run_flask_todo.bat
    
  5. 訪問應用
    打開瀏覽器訪問 http://localhost:5990

API 接口

應用提供完整的 RESTful API,支持:

  • GET /api/todos - 獲取任務列表
  • POST /api/todos - 創建新任務
  • PUT /api/todos/<id> - 更新任務
  • DELETE /api/todos/<id> - 刪除任務
  • GET /api/todos/export/<date> - 導出指定日期任務

使用場景

個人任務管理

  • 日常工作任務規劃
  • 學習計劃制定
  • 生活事務提醒

團隊協作

  • 項目進度跟蹤
  • 會議任務分配
  • 工作匯報整理

習慣養成

  • 每日目標設定
  • 習慣打卡記錄
  • 進度可視化

特色亮點

  1. 輕量級部署:無需復雜配置,開箱即用
  2. 數據持久化:本地 SQLite 數據庫,數據安全可靠
  3. 導出功能:支持 Markdown 格式導出,便于分享和存檔
  4. 時間追蹤:自動記錄任務時間線,便于效率分析
  5. 界面友好:簡潔美觀的設計,專注用戶體驗

擴展可能

  • 支持任務分類和標簽
  • 添加任務優先級設置
  • 集成日歷視圖
  • 支持團隊協作功能
  • 移動端 App 開發
  • 云端數據同步

總結

這個 Flask Todo 應用雖然功能簡潔,但涵蓋了任務管理的核心需求。它不僅是一個實用的工具,也是學習 Flask 全棧開發的優秀示例。無論是個人使用還是作為學習項目,都具有很好的實用價值。

項目代碼結構清晰,易于理解和擴展,是 Web 開發初學者和有經驗開發者的理想選擇。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92861.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

4麥 360度定位

要在 ESP32 上用 4 個麥克風實現 360 聲源定位&#xff0c;通常思路是通過 時延估計&#xff08;TDOA&#xff09; 幾何計算&#xff0c;核心流程&#xff1a;陣列布置將 4 個麥克風等間距布置成正方形&#xff08;或圓形&#xff09;。記陣列中心為原點&#xff0c;麥克風編號…

使用yolov10模型檢測視頻中出現的行人,并保存為圖片

一、使用yolov10模型檢測視頻中出現的行人&#xff0c;并保存為圖片&#xff0c;detect_person.py代碼如下&#xff1a;from ultralytics import YOLOv10 import glob import os import cv2 import argparsedef detect_person(videoPath, savePath):if not os.path.exists(save…

現在希望用git將本地文件crawler目錄下的文件更新到遠程倉庫指定crawler目錄下,命名相同的文件本地文件將其覆蓋

git checkout main git pull origin main $source “D:\黑馬大數據學習\crawler” $dest Join-Path (Get-Location) “crawler” if (-not (Test-Path $dest)) { New-Item -ItemType Directory -Path $dest | Out-Null } Copy-Item -Path $source* -Destination $dest -Recur…

網絡調制技術對比表

&#x1f4ca; 網絡調制技術全維度對比表?調制技術??簡稱??頻譜效率??抗噪性??功率效率??復雜度??關鍵特性??典型應用場景??幅度鍵控?ASK低差高低/低電路簡單&#xff0c;易受干擾遙控器、光通信(OOK)?頻移鍵控?FSK低-中中中中/中抗噪較好&#xff0c;頻譜…

優化 Elasticsearch JVM 參數配置指南

一、概述 Elasticsearch 是基于 JVM 的搜索和分析引擎。JVM 參數的合理配置直接影響著 Elasticsearch 的性能和穩定性。盡管 Elasticsearch 已經提供了默認的 JVM 設置&#xff0c;但在某些特定場景下&#xff0c;我們可能需要進行適當的調整和優化。 本文將詳細講述如何安全、…

Python, Go 開發如何進入心流狀態APP

要開發一款基于Python和Go語言、幫助用戶進入“心流”狀態&#xff08;高度專注、高效愉悅的心理狀態&#xff09;的應用&#xff0c;需結合兩種語言的技術優勢&#xff08;Go的高并發與性能、Python的靈活性與AI生態&#xff09;及心流觸發機制&#xff08;清晰目標、即時反饋…

一文詳解手機WiFi模塊與連接

目錄 1 硬件模塊 1.1 Wifi射頻模 1.2 電源管理模塊 2 軟件與協議棧 2.1 系統服務層 2.2 認證與協議處理 3 連接流程 3.1 開啟WiFi與掃描 3.2 選擇網絡與認證 3.3 連接與IP分配 4 特殊連接方式 4.1 WPS快速連接 4.2 熱點模式&#xff08;AP模式&#xff09; 4.3 U…

Java 網絡編程詳解:從基礎到實戰,徹底掌握 TCP/UDP、Socket、HTTP 網絡通信

作為一名 Java 開發工程師&#xff0c;你一定在實際開發中遇到過需要與遠程服務器通信、實現客戶端/服務端架構、處理 HTTP 請求、構建分布式系統等場景。這時&#xff0c;Java 網絡編程&#xff08;Java Networking&#xff09; 就成為你必須掌握的核心技能之一。Java 提供了豐…

Java面試題(中等)

1. 計算機網絡傳輸層有哪些協議&#xff1f;分別適用于什么場景&#xff1f;TCP協議(傳輸控制協議)?&#xff1a;面向連接、可靠傳輸&#xff0c;流量控制、擁塞控制。適用于要求數據完整性的場景&#xff0c;如文件傳輸、網頁瀏覽、電子郵件等。UDP協議 (用戶數據報協議)?&a…

Apache 消息隊列分布式架構與原理

消息隊列 基本概念 定義 消息隊列&#xff08;Message Queue, MQ&#xff09;是一種分布式中間件&#xff0c;通過異步通信、消息暫存和解耦生產消費雙方的機制&#xff0c;提供消息的順序性保證、可靠投遞和流量控制能力&#xff0c;廣泛應用于微服務解耦、大數據流處理等場景…

ModernBERT如何突破BERT局限?情感分析全流程解析

自2018年推出以來&#xff0c;BERT 徹底改變了自然語言處理領域。它在情感分析、問答、語言推理等任務中表現優異。借助雙向訓練和基于Transformer的自注意力機制&#xff0c;BERT 開創了理解文本中單詞關系的新范式。然而&#xff0c;盡管成績斐然&#xff0c;BERT 仍存在局限…

股票Level2逐筆成交及十檔訂單簿分鐘級Tick歷史行情數據詳細解析

本地股票數據處理與分析實戰指南 在量化投資與金融數據分析領域&#xff0c;高效處理本地存儲的股票數據是核心能力之一。本文將從數據類型定義、解析流程及實際應用角度&#xff0c;系統介紹如何基于CSV文件管理股票分鐘數據、高頻Tick數據、逐筆數據、Level2歷史行情等多樣化…

面向互聯網2C業務的分布式類Manus Java框架

本文介紹了阿里巴巴推出的分布式類ManusAgent框架——ali-langengine-dflow&#xff0c;旨在解決現有Agent架構在互聯網2C業務場景中的局限性。文章從背景出發&#xff0c;分析了當前主流Agent架構&#xff08;如Manus、字節TARS、AutoGLM&#xff09;存在的問題&#xff0c;如…

Java-82 深入淺出 MySQL 內部架構:服務層、存儲引擎與文件系統全覆蓋

點一下關注吧&#xff01;&#xff01;&#xff01;非常感謝&#xff01;&#xff01;持續更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持續更新中&#xff01;&#xff08;長期更新&#xff09; AI煉丹日志-30-新發布【1T 萬億】參數量大模型&#xff01;Kim…

開發避坑短篇(6):Vue+Element UI 深度選擇器實現表單元素精準對齊的技術實踐

需求 el-form 表單的el-input和el-select默認寬度度不一致&#xff0c;導致不對齊&#xff0c;如下圖。那么如何設置讓el-input和el-select的寬度度一致并對齊&#xff1f;<el-form class"page-form" :model"addForm" :rules"rules" :disable…

rust-參考與借用

參考與借用 在清單4-5中的元組代碼的問題在于&#xff0c;我們必須將String返回給調用函數&#xff0c;這樣我們才能在調用calculate_length之后繼續使用String&#xff0c;因為String已經被移動到了calculate_length中。相反&#xff0c;我們可以提供一個對String值的引用。引…

深入解析HDFS Federation:如何有效解決單NameNode瓶頸問題

HDFS Federation簡介與背景在Hadoop分布式文件系統&#xff08;HDFS&#xff09;的經典架構中&#xff0c;NameNode作為核心組件承擔著整個文件系統的元數據管理職責。這一設計雖然簡潔高效&#xff0c;但隨著數據規模的爆炸式增長&#xff0c;單NameNode架構逐漸暴露出難以克服…

為什么選擇EasyGBS?

作為集 算法倉、算力設備接入、視頻云平臺 于一體的綜合性智能安防監控平臺&#xff0c;EasyGBS有哪些優勢是您的必選理由呢&#xff1f;一、設備與協議的兼容性EasyGBS不挑設備品牌型號。只要支持GB28181、RTSP、ONVIF、RTMP標準協議里的任一種&#xff0c;就能將視頻接入。但…

【形態學變換】——圖像預處理(OpenCV)

目錄 1 核 2 腐蝕 3 膨脹 4 開運算 5 閉運算 6 禮帽運算 7 黑帽運算 8 形態學梯度 形態學變換是一種基于形狀的簡單變換&#xff0c;處理對象是二值化后的圖像。有兩個輸入&#xff1a;原圖像和核&#xff0c;一個輸出&#xff1a;形態學變換后的圖像。基本操作有以下四…

一次“非法指令”(SIGILL)問題的完整調試過程:CPU指令集兼容性探秘

一次"非法指令"問題的完整調試過程&#xff1a;CPU指令集兼容性探秘一、問題概述二、問題現象與初步分析1. 環境與現象2. 官方文檔的線索3. 重現問題4. 懷疑方向&#xff1a;CPU指令兼容性5. 關鍵發現&#xff1a;AVX512指令三、詳細調試過程1. 搭建調試環境 (KVM虛擬…