能不能帮我弄一下要有说明的

 

# Import the necessary libraries
from flask import Flask, render_template, request, redirect

# Create a new Flask application
app = Flask(__name__)

# Create a list to store the to-do items
todo_list = []

# Define a custom function to add a new item to the to-do list
def add_item(item):
    todo_list.append(item)

# Define a custom function to remove an item from the to-do list
def remove_item(item):
    todo_list.remove(item)

# Define a custom function to save the to-do list to a file
def save_list():
    with open("todo_list.txt", "w") as file:
        for item in todo_list:
            file.write(item + "\n")

# Define a custom function to load the to-do list from a file
def load_list():
    try:
        with open("todo_list.txt", "r") as file:
            for line in file:
                todo_list.append(line.strip())
    except FileNotFoundError:
        pass

# Define a custom class to represent a to-do item
class TodoItem:
    def __init__(self, description):
        self.description = description

    def __str__(self):
        return self.description

    def complete(self):
        pass

# Define a custom class to represent a completed to-do item
class CompletedItem(TodoItem):
    def __init__(self, description):
        super().__init__(description)

    def complete(self):
        return "Completed: " + self.description

# Define a route for the home page
@app.route("/")
def home():
    return render_template("home.html", todo_list=todo_list)

# Define a route for adding a new item to the to-do list
@app.route("/add_item", methods=["POST"])
def add_item_route():
    item = request.form["item"]
    add_item(item)
    save_list()
    return redirect("/")

# Define a route for removing an item from the to-do list
@app.route("/remove_item/<item>")
def remove_item_route(item):
    remove_item(item)
    save_list()
    return redirect("/")

# Define a route for marking an item as completed
@app.route("/complete_item/<item>")
def complete_item_route(item):
    complete_item = CompletedItem(item)
    remove_item(item)
    add_item(str(complete_item.complete()))
    save_list()
    return redirect("/")

# Load the to-do list from the file
load_list()

# Run the Flask application
if __name__ == "__main__":
    app.run(debug=True)