一起学习网 一起学习网


构建简单任务管理应用程序

开发 任务管理, Flask应用, Python项目, SQLite数据库, Web开发 05-27

如何实现一个简单的任务管理应用程序

在现代社会中,任务管理是提高生产力的关键之一。本文将介绍如何使用Python构建一个简单的任务管理应用程序,以帮助您组织和管理个人任务。我们将使用Flask框架创建一个基本的Web应用程序,并使用SQLite数据库存储任务数据。

步骤1:设置项目环境

首先,确保您的计算机上已安装Python和pip。然后,创建一个项目文件夹并在其中创建一个虚拟环境。

mkdir task_manager
cd task_manager
python -m venv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`

步骤2:安装Flask和SQLite

在虚拟环境中,安装Flask和SQLite数据库库。

pip install Flask
pip install sqlite3

步骤3:设置项目结构

创建以下项目结构:

task_manager/
│
├── app.py
├── templates/
│   └── index.html
└── static/
    └── style.css

步骤4:构建Flask应用程序

app.py中,初始化Flask应用,并设置SQLite数据库连接。

from flask import Flask, render_template, request, redirect, url_for
import sqlite3

app = Flask(__name__)

def get_db_connection():
    conn = sqlite3.connect('tasks.db')
    conn.row_factory = sqlite3.Row
    return conn

@app.route('/')
def index():
    conn = get_db_connection()
    tasks = conn.execute('SELECT * FROM tasks').fetchall()
    conn.close()
    return render_template('index.html', tasks=tasks)

@app.route('/add', methods=('POST',))
def add():
    task = request.form['task']
    conn = get_db_connection()
    conn.execute('INSERT INTO tasks (description) VALUES (?)', (task,))
    conn.commit()
    conn.close()
    return redirect(url_for('index'))

@app.route('/delete/<int:task_id>')
def delete(task_id):
    conn = get_db_connection()
    conn.execute('DELETE FROM tasks WHERE id = ?', (task_id,))
    conn.commit()
    conn.close()
    return redirect(url_for('index'))

if __name__ == '__main__':
    app.run(debug=True)

步骤5:设置数据库

在Python交互式环境或脚本中,创建数据库和表。

import sqlite3

conn = sqlite3.connect('tasks.db')
conn.execute('CREATE TABLE tasks (id INTEGER PRIMARY KEY, description TEXT NOT NULL)')
conn.close()

步骤6:创建HTML模板

templates/index.html中,添加HTML代码以显示任务并允许用户添加和删除任务。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Task Manager</title>
    <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
    <h1>Task Manager</h1>
    <form action="{{ url_for('add') }}" method="post">
        <input type="text" name="task" placeholder="Add a new task">
        <button type="submit">Add</button>
    </form>
    <ul>
        {% for task in tasks %}
        <li>
            {{ task.description }}
            <a href="{{ url_for('delete', task_id=task.id) }}">Delete</a>
        </li>
        {% endfor %}
    </ul>
</body>
</html>

步骤7:添加样式

static/style.css中,添加一些基本样式。

body {
    font-family: Arial, sans-serif;
    margin: 20px;
}

h1 {
    color: #333;
}

form {
    margin-bottom: 20px;
}

input {
    padding: 5px;
    margin-right: 10px;
}

button {
    padding: 5px;
}

ul {
    list-style-type: none;
    padding: 0;
}

li {
    margin-bottom: 10px;
    font-size: 16px;
}

步骤8:运行应用程序

在终端中运行Flask应用程序。

python app.py

访问http://127.0.0.1:5000以查看任务管理器应用程序并进行交互。

结论

通过这篇文章,我们学习了如何使用Flask和SQLite构建一个基本的任务管理应用程序。这种应用可以进一步扩展,例如添加用户身份验证、任务优先级等功能,以适应更复杂的需求。希望这能帮助您提高组织能力和生产力。


编辑:一起学习网