i
添加任务:在右侧面板,你可以快速添加新任务。填写任务名称、描述和优先级,点击“添加任务”按钮,就能把任务添加到列表中。
快去干活!:所有未完成的任务会显示在任务列表中。每个任务都清晰列出其名称、描述和优先级,方便你随时查看。
满满成就感:一旦完成任务,只需点击“完成”,任务就会被移动到暂存区。在暂存区,你可以永久删除已完成的任务,让列表保持干净整洁。
倒计时功能:在页面顶部的倒计时板块,实时显示距离当天结束的剩余时间,时刻提醒你时间的宝贵。
第一步:安装Flask
确保已经安装了Flask。如果没有安装,可以通过以下命令安装:
pip install Flask
我们将创建一个Flask应用程序,并设计HTML页面来显示和管理任务。
目录结构:
Procra/
│
├── app.py
├── templates/
│ └── index.html
└── static/
└── style.css
app.py
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
# 初始化任务列表和删除区
tasks = []
deleted_tasks = []
@app.route(‘/’)
……
if __name__ == ‘__main__’:
app.run(debug=True)
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>拖延症终结者</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
<script>
......
</script>
</head>
<body>
……
</body>
</html>
style.css
/* 使页面内容居中 */
body {
font-family: Arial, sans-serif;
margin: 0;
}
……
#countdown-hours,
#countdown-minutes,
#countdown-seconds {
background-color: #ff9800;
color: white;
text-align: center;
}
在命令行中导航到项目目录并运行:
python app.py
打开浏览器,访问 http://127.0.0.1:5000,将看到“拖延症终结者”的网页界面。
(是哒,这是一个本地跑的项目~ 每天自己手动更新的那种 ~ 哈哈哈)
-
字符串类型 (String)
任务名称 (name):用于存储任务的名称。
任务描述 (description):用于存储任务的详细描述。
URL参数 (task_name):用于在URL中传递任务名称,以识别和操作特定任务。
-
浮点数类型 (Float)
在这个应用程序中,我们没有使用浮点数类型,但它通常用于存储需要小数点的数值数据,比如任务的预算或时间估算。
-
整数类型 (Integer)
任务优先级 (priority):用于表示任务的优先级,数值范围通常为1到5。
-
布尔类型 (Boolean)
任务状态 (status):用于表示任务是否已完成。在这个示例中,状态未使用布尔值,但可以扩展来跟踪任务的完成状态。
-
列表类型 (List)
任务列表 (tasks):用于存储所有未完成任务的列表,每个任务是一个字典。
-
字典类型 (Dictionary)
任务字典 (task):每个任务存储为一个字典,包含任务的名称、描述、优先级和状态。
-
添加任务
当用户添加新任务时,系统会获取用户输入的任务名称、描述、优先级,并创建一个任务字典,然后将其添加到任务列表中。
@app.route('/add', methods=['POST'])
def add_task():
name = request.form['name']
description = request.form['description']
priority = int(request.form['priority'])
task = {'name': name, 'description': description, 'priority': priority, 'status': False}
tasks.append(task)
return redirect(url_for('index'))
-
显示任务
在主页上,系统会显示所有任务和删除区的任务。每个任务从任务列表中读取并显示其详细信息。
@app.route('/')
def index():
return render_template('index.html', tasks=tasks, deleted_tasks=deleted_tasks)
-
完成任务
当用户标记任务为完成时,系统会将该任务从任务列表中移除,并添加到删除区列表中。
@app.route('/complete/<task_name>')
def complete_task(task_name):
global tasks
for task in tasks:
if task['name'] == task_name:
tasks.remove(task)
deleted_tasks.append(task)
break
return redirect(url_for('index'))
-
删除任务
当用户从删除区中删除任务时,系统会从删除区列表中移除该任务。
@app.route('/delete/<task_name>')
def delete_task(task_name):
global deleted_tasks
deleted_tasks = [task for task in deleted_tasks if task['name'] != task_name]
return redirect(url_for('index')
原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/79292.html