searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

使用Python和Flask构建一个简单的待办事项应用

2023-12-15 02:04:51
33
0

待办事项应用是一种非常常见的应用程序,可以帮助用户管理和组织自己的任务和日程安排。在本篇文章中,我们将使用Python和Flask框架来构建一个简单的待办事项应用。我们将学习如何设置数据库、创建模型、实现用户认证和授权、以及如何使用Flask的路由系统来处理不同的请求。

步骤一:环境设置

首先,我们需要设置Python开发环境并安装Flask框架。你可以按照以下步骤进行操作:

  1. 安装Python:访问Python官方网站,下载并安装最新版本的Python。

  2. 创建虚拟环境:使用以下命令在项目文件夹中创建一个新的虚拟环境。

     
    python -m venv myenv
  3. 激活虚拟环境:根据你的操作系统,使用以下命令激活虚拟环境。

    • 在Windows上:

       
      myenv\Scripts\activate
    • 在Mac和Linux上:

       
      source myenv/bin/activate
  4. 安装Flask:在激活的虚拟环境中,使用以下命令安装Flask框架。

     
    pip install flask

步骤二:创建Flask应用

接下来,我们将创建一个Flask应用。在项目文件夹中创建一个名为app.py的Python文件,并在其中添加以下代码:

 

from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///todo.db'
db = SQLAlchemy(app)

class Todo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(200), nullable=False)
    completed = db.Column(db.Boolean, default=False)

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

@app.route('/add', methods=['POST'])
def add():
    content = request.form['content']
    new_todo = Todo(content=content)
    db.session.add(new_todo)
    db.session.commit()
    return redirect(url_for('index'))

@app.route('/complete/<int:todo_id>')
def complete(todo_id):
    todo = Todo.query.get(todo_id)
    todo.completed = True
    db.session.commit()
    return redirect(url_for('index'))

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

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

步骤三:创建HTML模板

在项目文件夹中创建一个名为templates的文件夹,并在其中创建一个名为index.html的HTML文件。在index.html文件中添加以下代码:

 
<!DOCTYPE html>
<html>
<head>
    <title>Todo App</title>
</head>
<body>
    <h1>Todo List</h1>
    <form action="/add" method="POST">
        <input type="text" name="content" placeholder="Enter todo">
        <button type="submit">Add</button>
    </form>
    <ul>
        {% for todo in todos %}
        <li>
            {% if todo.completed %}
            <del>{{ todo.content }}</del>
            {% else %}
            {{ todo.content }}
            {% endif %}
            <a href="/complete/{{ todo.id }}">Complete</a>
            <a href="/delete/{{ todo.id }}">Delete</a>
        </li>
        {% endfor %}
    </ul>
</body>
</html>

步骤四:运行应用

最后,我们可以使用以下命令在本地运行应用:

 
python app.py

在浏览器中访问localhost:5000,你将看到一个简单的待办事项应用。你可以输入待办事项并点击"Add"按钮来添加新的任务。点击"Complete"链接来标记任务为已完成,点击"Delete"链接来删除任务。

结论

通过本文的指导,我们成功地使用Python和Flask框架构建了一个简单的待办事项应用。你可以根据自己的需求进行扩展和优化,例如添加用户认证和授权功能、实现任务的编辑和排序等。

0条评论
0 / 1000
无敌暴龙兽
286文章数
4粉丝数
无敌暴龙兽
286 文章 | 4 粉丝
原创

使用Python和Flask构建一个简单的待办事项应用

2023-12-15 02:04:51
33
0

待办事项应用是一种非常常见的应用程序,可以帮助用户管理和组织自己的任务和日程安排。在本篇文章中,我们将使用Python和Flask框架来构建一个简单的待办事项应用。我们将学习如何设置数据库、创建模型、实现用户认证和授权、以及如何使用Flask的路由系统来处理不同的请求。

步骤一:环境设置

首先,我们需要设置Python开发环境并安装Flask框架。你可以按照以下步骤进行操作:

  1. 安装Python:访问Python官方网站,下载并安装最新版本的Python。

  2. 创建虚拟环境:使用以下命令在项目文件夹中创建一个新的虚拟环境。

     
    python -m venv myenv
  3. 激活虚拟环境:根据你的操作系统,使用以下命令激活虚拟环境。

    • 在Windows上:

       
      myenv\Scripts\activate
    • 在Mac和Linux上:

       
      source myenv/bin/activate
  4. 安装Flask:在激活的虚拟环境中,使用以下命令安装Flask框架。

     
    pip install flask

步骤二:创建Flask应用

接下来,我们将创建一个Flask应用。在项目文件夹中创建一个名为app.py的Python文件,并在其中添加以下代码:

 

from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///todo.db'
db = SQLAlchemy(app)

class Todo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(200), nullable=False)
    completed = db.Column(db.Boolean, default=False)

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

@app.route('/add', methods=['POST'])
def add():
    content = request.form['content']
    new_todo = Todo(content=content)
    db.session.add(new_todo)
    db.session.commit()
    return redirect(url_for('index'))

@app.route('/complete/<int:todo_id>')
def complete(todo_id):
    todo = Todo.query.get(todo_id)
    todo.completed = True
    db.session.commit()
    return redirect(url_for('index'))

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

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

步骤三:创建HTML模板

在项目文件夹中创建一个名为templates的文件夹,并在其中创建一个名为index.html的HTML文件。在index.html文件中添加以下代码:

 
<!DOCTYPE html>
<html>
<head>
    <title>Todo App</title>
</head>
<body>
    <h1>Todo List</h1>
    <form action="/add" method="POST">
        <input type="text" name="content" placeholder="Enter todo">
        <button type="submit">Add</button>
    </form>
    <ul>
        {% for todo in todos %}
        <li>
            {% if todo.completed %}
            <del>{{ todo.content }}</del>
            {% else %}
            {{ todo.content }}
            {% endif %}
            <a href="/complete/{{ todo.id }}">Complete</a>
            <a href="/delete/{{ todo.id }}">Delete</a>
        </li>
        {% endfor %}
    </ul>
</body>
</html>

步骤四:运行应用

最后,我们可以使用以下命令在本地运行应用:

 
python app.py

在浏览器中访问localhost:5000,你将看到一个简单的待办事项应用。你可以输入待办事项并点击"Add"按钮来添加新的任务。点击"Complete"链接来标记任务为已完成,点击"Delete"链接来删除任务。

结论

通过本文的指导,我们成功地使用Python和Flask框架构建了一个简单的待办事项应用。你可以根据自己的需求进行扩展和优化,例如添加用户认证和授权功能、实现任务的编辑和排序等。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0