TodoList案例
时间: 2023-08-21 07:05:04 浏览: 114
好的,TodoList是一种常见的待办事项管理工具,可以帮助人们记录和管理日常生活和工作中需要完成的任务。以下是一个简单的TodoList案例,您可以了解一下:
假设您正在开发一个简单的TodoList应用。该应用需要实现以下功能:
1. 用户可以添加新的待办事项,包括任务名称、截止日期和优先级。
2. 用户可以查看所有待办事项的列表,并根据截止日期和优先级进行排序。
3. 用户可以编辑和删除待办事项。
4. 用户可以标记已完成的任务。
下面是一个使用Python和Flask框架实现上述功能的简单示例代码:
```python
from flask import Flask, render_template, request, redirect, url_for
import datetime
app = Flask(__name__)
# 初始任务列表
tasks = [
{
'name': '购买牛奶',
'due_date': datetime.date(2021, 9, 30),
'priority': '高',
'completed': False
},
{
'name': '发送邮件',
'due_date': datetime.date(2021, 10, 1),
'priority': '中',
'completed': False
}
]
# 首页
@app.route('/')
def index():
return render_template('index.html', tasks=tasks)
# 添加新任务
@app.route('/add_task', methods=['POST'])
def add_task():
name = request.form['name']
due_date = datetime.datetime.strptime(request.form['due_date'], '%Y-%m-%d').date()
priority = request.form['priority']
task = {
'name': name,
'due_date': due_date,
'priority': priority,
'completed': False
}
tasks.append(task)
return redirect(url_for('index'))
# 删除任务
@app.route('/delete_task/<int:task_index>')
def delete_task(task_index):
tasks.pop(task_index)
return redirect(url_for('index'))
# 标记任务完成
@app.route('/complete_task/<int:task_index>')
def complete_task(task_index):
tasks[task_index]['completed'] = True
return redirect(url_for('index'))
if __name__ == '__main__':
app.run()
```
在上述示例代码中,我们使用了Python的datetime模块来处理日期,使用了Flask框架来实现Web应用程序的相关功能。当用户添加、删除或标记已完成的任务时,使用了重定向来返回到主页。当然,这只是一个简单的TodoList案例,您可以根据自己的需求对其进行修改和扩展。
阅读全文