用 Flask 构建一个简单的 Web 应用程序(flask搭建web服务器)

用 Flask 构建一个简单的 Web 应用程序(flask搭建web服务器)

本教程将指导您完成使用 Python 构建简单的待办事项列表 Web 应用程序的过程。我们将使用流行的 Python Web 框架 Flask 来构建应用程序的后端,并为前端构建 HTMLCSS 和 JavaScript。

第 1 步:搭建开发环境

在开始构建 Web 应用程序之前,您需要设置开发环境。您需要在计算机上安装以下软件:

  • Python 3
  • 文本编辑器或集成开发环境 (IDE)
  • pip(Python 包管理器)

第 2 步:新建一个 Flask 项目

打开您的终端并为您的项目创建一个新目录:

$ mkdir todo-app$ cd todo-app

接下来,为您的项目创建一个虚拟环境并激活它:

$ python3 -m venv venv$ source venv/bin/activate

安装Flask:

$ pip install Flask

在您的项目目录中创建一个名为app.py的文件,并向其中添加以下代码:

from flask import Flaskapp = Flask(__name__)@app.route("/")def index(): return "Hello, World!"if __name__ == "__main__": app.run(debug=True)

第 3 步:测试 Flask 应用程序

运行Flask应用程序:

$ export FLASK_APP=app.py$ flask run

打开您的浏览器并访问http://localhost:5000/。你应该看到“Hello, World!” 显示在页面上。

第 4 步:创建待办事项列表后端

我们现在将为待办事项列表创建后端。我们将使用 SQLite 数据库来存储待办事项。

首先,安装 Flask-SQLAlchemy 扩展:

$ pip install flask-sqlalchemy

接下来,将以下代码添加到您的app.py文件中:

from flask_sqlalchemy import SQLAlchemyapp.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///todo.db'db = SQLAlchemy(app)class Todo(db.Model): id = db.Column(db.Integer, primary_key=True) text = db.Column(db.String(200)) completed = db.Column(db.Boolean, default=False)

此代码设置 SQLite 数据库并创建Todo将用于存储待办事项。

第 5 步:创建待办事项列表视图和模板

我们现在将为待办事项列表创建视图和模板。

将以下代码添加到您的app.py文件中:

from flask import render_template, request@app.route("/todos/")def todos(): todos = Todo.query.all() return render_template("todos.html", todos=todos)@app.route("/add/", methods=["POST"])def add(): text = request.form.get("text") todo = Todo(text=text) db.session.add(todo) db.session.commit() return redirect(url_for("todos"))@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("todos"))@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("todos"))

此代码创建用于显示待办事项列表、添加待办事项、将项目标记为已完成以及删除项目的视图。

第 6 步:创建待办事项列表模板

在您的项目目录中创建一个名为templates的新目录,并向其添加一个名为todos.html的新文件。

将以下 HTML 代码添加到文件中todos.html

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>To-Do List</title> </head> <body> <h1>To-Do List</h1> <form action="{{ url_for('add') }}" method="post"> <input type="text" name="text"> <input type="submit" value="Add"> </form> <ul> {% for todo in todos %} <li> {{ todo.text }} {% if todo.completed %} (completed) {% else %} <a href="{{ url_for('complete', todo_id=todo.id) }}">Mark as Complete</a> {% endif %} <a href="{{ url_for('delete', todo_id=todo.id) }}">Delete</a> </li> {% endfor %} </ul> </body></html>

此代码创建待办事项列表的模板。它包括用于添加新项目的表单、项目列表以及用于将项目标记为已完成和删除项目的链接。

第 7 步:创建数据库并运行应用程序

通过运行以下命令创建数据库:

$ flask shell

在 Flask shell 中,运行以下命令:

>>> from app import db>>> db.create_all()

通过键入exit()退出 Flask shell ,然后运行以下命令以启动 Web 应用程序:

$ flask run

这将在您的本地主机上的端口 5000 上启动 Web 应用程序。您可以通过http://127.0.0.1:5000/todos/在浏览器中访问它。

第 8 步:测试待办事项列表应用

通过添加项目、将它们标记为完成并删除它们来测试待办事项列表应用程序。

您现在应该有一个可用的待办事项列表 Web 应用程序!您可以继续添加功能并对其进行自定义以满足您的需求。

恭喜,您已经使用 Flask 和 Python 成功构建了一个待办事项列表 Web 应用程序!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月6日 上午9:06
下一篇 2023年4月6日 上午9:21

相关推荐

  • 工程项目管理软件免费

    工程项目管理软件免费:让项目管理更快捷,更高效 随着项目的不断增多,项目管理已经成为了一个日益重要的过程。传统的手动管理方式已经不能满足现代项目的需求,因此,工程项目管理软件已经成…

    科研百科 2024年8月18日
    35
  • iOS后台管理秒杀安卓?双机实测对比,Find X5 Pro杀后台明显更少

    每年的这段时间,因为快到苹果新iPhone的发布会,所以网上的爆料都会非常多,今年当然也不例外,像最近就有消息称,全新的iPhone 14系列最早可能会在8月初开始量产,三星显示已…

    科研百科 2022年11月2日
    193
  • 项目管理 总结

    项目管理总结 项目管理是组织中至关重要的一环,能够帮助组织实现其目标,并确保项目按时、按质量完成。在过去的几年中,我们经历了许多项目,这些项目涉及各种不同的领域,包括软件开发、医疗…

    科研百科 2024年5月26日
    61
  • 新兵申请科研项目

    新兵申请科研项目 作为一名新兵,我有幸能够参与科研项目,这是我一生中非常重要的机会。作为一名新手,我对科研充满了好奇和热情,希望能够通过这个项目来探索和学习更多的科学知识。 我想申…

    科研百科 2025年2月10日
    0
  • 安溪交警李华军

    安溪交警李华军: 守护交通安全的“守护者” 李华军,是一名安溪交警,他的职责是守护交通安全,确保每一位驾驶员都能安全驾驶。他的工作并不容易,但他一直保持着热情和耐心,为每一个需要帮…

    科研百科 2024年12月1日
    0
  • 安徽理工大学最大的科研项目

    安徽理工大学最大的科研项目 近年来,安徽理工大学在科技创新方面取得了巨大进展,其中最大的科研项目就是“大型客机C919的研发”。 C919是中国自主研发的大型客机,也是世界上最大的…

    科研百科 2024年8月11日
    24
  • 世界十大科研项目排行榜世界十大科研项目排行榜

    2023年世界十大科研项目排行榜已经新鲜出炉,这些项目涵盖了各种领域,包括物理学, 天文学, 化学, 生物学和计算机科学等。以下是本次排行榜的详细情况: 1. 量子计算量子计算是当…

    科研百科 2024年7月4日
    52
  • “党建+财务”融合发展助力工作提质增效(党建财务融合心得体会)

    来源:人民网-云南频道 原创稿 近年来,云南省税务部门深度推进“党建 财务”融合发展模式,持续擦亮“四强铸魂、四柱兴财”党建品牌,创建政治功能强、支部班子强、党员队伍强、作用发挥强…

    科研百科 2023年3月6日
    360
  • 招投标项目管理系统

    招投标项目管理系统:提升工作效率和项目质量 随着招投标市场的不断扩大,招投标项目管理系统已经成为招投标过程中不可或缺的一部分。一个好的招投标项目管理系统可以提高招投标过程的效率和质…

    科研百科 2024年5月24日
    48
  • 集成系统项目管理教材

    集成系统项目管理教材 集成系统项目是一种复杂的项目,需要项目经理具备丰富的项目管理技能和经验。在集成系统中,项目涉及到多个领域和技术,如软件开发、系统集成、硬件和网络设备采购等。因…

    科研百科 2024年12月27日
    9