在这个快节奏的时代,高效的任务管理是提升工作效率的关键。今天,我们将用Python语言,结合一些流行的Web框架和数据库技术,打造一个在线个人任务管理工具。这个工具不仅能帮助你记录和跟踪任务,还能提供灵活的任务分类和提醒功能。
项目准备
首先,我们需要确定技术栈。这里我们选择以下工具:
- Python:作为主要的编程语言。
- Flask:轻量级的Web框架。
- SQLite:轻便的数据库,适合小型项目。
- HTML/CSS/JavaScript:前端技术,用于构建用户界面。
安装依赖
在开始编码之前,我们需要安装必要的依赖包。打开终端,运行以下命令:
pip install Flask Flask-SQLAlchemy
后端开发
创建Flask应用
首先,创建一个名为task_manager
的文件夹,并在其中创建一个名为app.py
的文件。以下是基本的Flask应用结构:
from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///tasks.db'
db = SQLAlchemy(app)
class Task(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
description = db.Column(db.Text, nullable=True)
completed = db.Column(db.Boolean, default=False)
@app.route('/')
def index():
tasks = Task.query.all()
return render_template('index.html', tasks=tasks)
@app.route('/add', methods=['POST'])
def add_task():
title = request.form['title']
description = request.form['description']
new_task = Task(title=title, description=description)
db.session.add(new_task)
db.session.commit()
return redirect(url_for('index'))
@app.route('/complete/<int:task_id>')
def complete_task(task_id):
task = Task.query.get(task_id)
task.completed = not task.completed
db.session.commit()
return redirect(url_for('index'))
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
数据库模型
我们定义了一个Task
模型,包含id
、title
、description
和completed
四个字段,用于存储任务信息。
前端开发
创建HTML模板
在task_manager
文件夹中创建一个名为templates
的文件夹,并在其中创建一个名为index.html
的文件。以下是基本的HTML结构:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>任务管理工具</title>
</head>
<body>
<h1>我的任务</h1>
<form method="post" action="/add">
<input type="text" name="title" placeholder="任务标题" required>
<textarea name="description" placeholder="任务描述"></textarea>
<button type="submit">添加任务</button>
</form>
<ul>
{% for task in tasks %}
<li>
{{ task.title }} - {{ task.description }}
<a href="{{ url_for('complete_task', task_id=task.id) }}">
{% if task.completed %}未完成{% else %}完成{% endif %}
</a>
</li>
{% endfor %}
</ul>
</body>
</html>
运行应用
现在,我们的任务管理工具已经基本完成。回到终端,运行以下命令启动应用:
python app.py
打开浏览器,访问http://127.0.0.1:5000
,你将看到一个简单的任务管理界面。你可以添加新任务,标记任务为完成或未完成。
扩展功能
为了使工具更加实用,我们可以添加以下功能:
- 任务分类:允许用户将任务分类到不同的列表中。
- 提醒功能:通过电子邮件或短信提醒即将到期的任务。
- 用户认证:添加用户登录和注册功能,保护用户数据。
通过本文,我们用Python和Flask搭建了一个基本的在线个人任务管理工具。虽然功能简单,但这是一个很好的起点,你可以在此基础上不断扩展和完善。希望这个工具能帮助你更好地管理日常任务,提升工作效率。动手试试吧,享受编程的乐趣!
评论(0)