一起学习网 一起学习网


简单任务管理系统指南

开发 task management system, Flask tutorial, Python task app, CRUD application, SQLite database 04-12

实现一个简单的任务管理系统

在这篇文章中,我们将探讨如何创建一个简单的任务管理系统。这个系统将允许用户创建、查看、更新和删除任务。我们将使用Python语言和Flask框架来实现此功能,并利用SQLite数据库存储数据。

步骤1:设置开发环境

首先,我们需要安装必要的包。打开终端并运行以下命令:

pip install Flask
pip install Flask-SQLAlchemy

步骤2:创建应用的基本结构

创建一个新的目录,并在其中创建几个文件:

  • app.py:主应用文件
  • templates/:用于存储HTML模板的目录
  • static/:用于存储静态文件的目录

步骤3:初始化 Flask 应用

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(200), nullable=False)
    description = db.Column(db.String(500), nullable=True)

db.create_all()

上面的代码创建了一个Flask应用,并配置SQLite数据库。我们还定义了一个Task模型,表示任务的数据结构。

步骤4:实现CRUD功能

接下来,编写路由和视图函数以实现任务的创建、查看、更新和删除。

@app.route('/')
def index():
    tasks = Task.query.all()
    return render_template('index.html', tasks=tasks)

@app.route('/add', methods=['POST'])
def add():
    title = request.form.get('title')
    description = request.form.get('description')
    new_task = Task(title=title, description=description)
    db.session.add(new_task)
    db.session.commit()
    return redirect(url_for('index'))

@app.route('/update/<int:id>', methods=['GET', 'POST'])
def update(id):
    task = Task.query.get(id)
    if request.method == 'POST':
        task.title = request.form.get('title')
        task.description = request.form.get('description')
        db.session.commit()
        return redirect(url_for('index'))
    return render_template('update.html', task=task)

@app.route('/delete/<int:id>')
def delete(id):
    task = Task.query.get(id)
    db.session.delete(task)
    db.session.commit()
    return redirect(url_for('index'))

上述代码实现了查看任务列表、添加新任务、更新现有任务及删除任务的功能。

步骤5:创建HTML模板

templates目录下,创建以下HTML文件:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Task Manager</title>
</head>
<body>
    <h1>Task Manager</h1>
    <form action="{{ url_for('add') }}" method="post">
        <input type="text" name="title" placeholder="Task Title" required>
        <textarea name="description" placeholder="Task Description"></textarea>
        <button type="submit">Add Task</button>
    </form>
    <ul>
        {% for task in tasks %}
        <li>
            <strong>{{ task.title }}</strong>: {{ task.description }}
            <a href="{{ url_for('update', id=task.id) }}">Edit</a>
            <a href="{{ url_for('delete', id=task.id) }}">Delete</a>
        </li>
        {% endfor %}
    </ul>
</body>
</html>

update.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Update Task</title>
</head>
<body>
    <h1>Update Task</h1>
    <form action="{{ url_for('update', id=task.id) }}" method="post">
        <input type="text" name="title" value="{{ task.title }}" required>
        <textarea name="description">{{ task.description }}</textarea>
        <button type="submit">Update Task</button>
    </form>
</body>
</html>

步骤6:运行应用

最后,运行Flask应用:

export FLASK_APP=app.py
flask run

访问http://localhost:5000可以查看并使用我们的任务管理系统。

通过以上步骤,我们了解了如何用Flask和SQLAlchemy创建一个简单的任务管理系统,其基本功能包括任务的创建、查看、更新和删除。学习和理解这些步骤将为您构建更复杂的Web应用奠定基础。


编辑:一起学习网