用 Python 开发一个 【个人计划 todolist】

python实现的登录与提交表单数据功能示例 主要介绍了python实现的登录与提交表单数据功能,结合实例形式分析了Python表单登录相关的请求与响应操作实现技巧,需要的朋友可以参考下 立即下载

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入


有一句话是这样说的:“凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。

今天,你废了么?

 

为了让我们不要那么快的废掉,要不我们用 Python 来写一个网页版的 todolist, 然后在里面制定自己的计划怎么样?

 

 

可能你会想到像这种简单一些的网页交互,可以用 Flask 来实现,不过今天要给你介绍的是另一个轻量级的 web 框架,它叫 bottle ,知道的人相对较少,但它也是很好用的呢。

我们要在网站里面写入计划内容,就需要用到数据库,我们也可以使用轻量级的 sqlite 数据库实现,这个 Python 有自带的 sqlite3 库。

可以使用它来创建一张 todo 数据表:

 

其中的 task 字段主要是用来存放用户要添加的计划内容, status 用来标记用户是否完成计划的状态,比如 1 表示未完成, 0 表示已经完成。

可以通过 insert 插入每一条任务的数据:

 

 

执行:

 

这时候在你当前的目录下就会生成一个数据库文件,等会所有的计划数据都存储在这里面:

 

如果你之前没有安装过 bottle ,可以使用 pip 安装一波,它没有依赖其它的库,安装很快就能搞定。

安装完成之后导入 bottle:

 

 

定义路由,当你访问 /todo 首页的时候就会调用这个方法:

 

这时候可以连接我们刚刚创建数据库,顺便将未完成的任务查找出来,然后将结果返回进行显示:

 

 

接着执行服务,你可以自己指定运行在服务器上的什么端口上,这里我指定为 8888 端口:

 


运行 Python 之后,就可以在浏览器打开:localhost:8888/todo

 

可以看到,我们刚刚插入的数据显示出来了,说明服务和数据库运行正常。

那么接下来就把数据显示到首页,可以使用 bottle 的模板引擎实现数据的绑定,在当前的目录下创建一个 make_table.tpl 文件。

 

这里我们使用了 HTML 的模板标记语言,我们可以在刚刚的 Python 文件中将在数据库中得到的结果写到 rows 里面,然后在 make_table 模板文件中就可以使用它循环得到相关的数据了:

 

运行一波:

 

 

数据成功绑定。

接下来插入计划的内容,可以使用 bottle 的 request 做 Get 和 Post 请求。

创建一个 new_task.tpl 模板文件:

 

这里定义了一个 form 表单,让它去请求 new 方法,可以在 py 中定义这个方法,先来展示看看:

 

 

运行一波:

 


那么当用户点击提交的时候,需要将输入框的内容获取,然后保存到数据库中,可以在 new 方法中这样定义:

这里主要是通过 GET.task 来获取输入框的数据,然后将数据插入到数据库中,添加成功后显示一个成功添加的提醒。

运行一下:

 

 

可以可以,回到首页可以看到数据确实添加了:

 

可以添加计划了,接下来要实现的是对计划的编辑,可以让用户选择每条计划是否完成了,以及修改计划的内容:

 

可以写一个 edit_task.tpl 模板文件来进行数据的展示和提交:

 

这里的 form 表单绑定的请求是 edit 方法,其中 {{no}} 指的是计划表中的 id,这样就能根据 id 来修改特定的计划数据。

想要在 input 标签中显示相关的计划内容和状态,可以在 py 里面通过数据库获取然后返回,放到 old 参数中,像这样:

而当用户进行编辑操作提交的时候,可以将计划的内容和状态获取过来,然后根据 id 来修改数据库中的计划数据:

 

在 route 定义那里的 <no:int> 指的是我们要接收一个参数为 no 的 int 类型数据,也就是 id。

运行一波就是这样:

 

 

回到首页可以看到已经完成的计划就消失了:

 


这样,一个个人计划所需的主要功能就实现了呀~当然页面有点丑陋,可以用 css 来装饰一下,这个交给你自己玩玩,这次主要是想让你了解 bottle 的使用,等会我把源码都发你,你可以基于此做更多的改进。

对于每个任务的内容,也可以写一个方法进行查询,甚至你还可以使用 bottle 写一个 API 直接返回 Json:

 

这时候可以这样访问接口:

 

 

当然你可以快速自定义 404 页面,使用 bottle 的 error 模块实现:

 

 


ok,以上。

ps:本篇教程主要参考至 bottle 官方文档的教程,附上 bottle 的官方文档链接:

http://bottlepy.org/docs/dev/index.html

希望以这样的呈现方式让你更轻松的了解 bottle 这个轻量级 web 框架的使用,除了 Flask 外,这个也是挺不错的选择哦,写一些网页还是杠杠的,希望对你有帮助~

【超分辨率(Super-Resolution)】关于【超分辨率重建】专栏的相关说明,包含专栏简介、专栏亮点、适配人群、相关说明、阅读顺序、超分理解、实现流程、研究方向、论文代码数据集汇总等 本专栏研究领域为【超分辨率重建】,涵盖图像超分、视频超分,实时超分,4K修复等方面。主要内容包括主流算法模型的论文精读、论文复现、毕业设计、涨点手段、调参技巧、论文写作、应用落地等方面。算法模型从SRCNN开始更新至今,一般是一篇论文精读对应一篇论文复现。论文精读详解理论,归化繁为简,归纳核心,积累词句,培养阅读论文和论文写作能力。论文复现依托Pytorch代码,实现完整的模型训练流程,总结调参方法,记录碰到的bug,论文插图可视化,培养读写代码能力、做实验的能力、以及应用落地能力。 阅读详情

相关推荐

新华硕笔记本ubuntu18.04双系统安装之后,wifi没有显示无法链接wifi

本来我以为跟简单安装一个wifi网卡的驱动就可以解决的问题,没想到花了我一早上的时候解决… 惭愧。 另外,本来是没打算写这篇博客的,但是我在搜索解决这个问题的过程中, 发现多人提出的解决方案跟我的都不一样,甚至我的解决方案都没有搜到相应的答案,还是只能靠自己啊。。 言归正传,还是说说怎么正确的安装wifi驱动吧! 1. wifi没有正确安装、或没有正确配置的表现 我的电脑现象: 有wifi图标, wifi设置上显示unaviable,无法搜索到任何wifi; 还有其他类似的表现,大家可以看看其他朋友的提

Ian的博客 1890

python bottle开发实例-So easy !用 Python 开发一个todolist

原标题:So easy !用 Python 开发一个todolist 有一句话是这样说的:"凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。今天,你废了么? 为了让我们不要那么快的废掉,要不我们用 Python 来写一个网页版的 todolist, 然后在里面制定自己的计划怎么样? 可能...

weixin_37988176的博客 460

【LDLTS解析】从重叠峰到精准参数:拉普拉斯深能级瞬态光谱如何重塑半导体缺陷分析

本文深入解析了拉普拉斯深能级瞬态光谱(LDLTS)技术如何革新半导体缺陷分析。针对传统DLTS难以分辨重叠峰的痛点,LDLTS通过拉普拉斯逆变换对高精度电容瞬态曲线进行数学解卷积,成功分离发射率相近的缺陷信号,实现从模糊宽峰到精准独立峰的转变。该技术不仅大幅提升了缺陷激活能和捕获截面等关键参数的提取精度,更推动分析范式从经验拟合转向第一性原理,为先进半导体工艺开发与良率提升提供了强大的精准诊断工具。

weixin_29224309的博客 275

python 笔记 PySimpleGUI 图形界面25-输入文本元素 InputText Element

整理 PySimpleGUI 官方网站 原文google翻译过来的 https://pysimplegui.readthedocs.io/en/latest/ 您将找到有关Elements的信息,所有其他类和函数都位于本手册结尾处。它们位于自述文件的大部分中,按字母顺序排列以便于查找。本节对Elements的讨论旨在教您如何工作。另一部分包含详细的呼叫签名和参数定义。 InputText 元素 Display a single text input field. Based on the tkinte

关小帅的博客 6326

从CAD图纸到GIS地图:手把手教你用Global Mapper处理DWG文件(含坐标配准)

本文详细介绍了如何使用Global Mapper将CAD图纸(DWG文件)转换为GIS地图,包括坐标配准、图层与属性转换等关键步骤。通过四参数变换和控制点匹配技术,确保数据精准转换,适用于测绘、城市规划等领域。文章还提供了高级处理技巧和质量控制流程,帮助用户高效完成GIS化工作。

weixin_29196891的博客 523

Open3D KD-tree的使用【2025最新版】

Open3d使用FLANN构建KDTree以便进行快速最近邻检索。博客长期更新,本文最近一次更新时间为:2025年1月1日,代码已同步更新至Open3D 0.18.0版本。

点云侠的博客 40万+

python键盘输入函数_python实时检测键盘输入函数的示例

在嵌入式、尤其是机器人的python编程中,经常需要实时检测用户的键盘输入来随时控制机器人,这段代码可以帮助我们提取用户输入的字符,并在按下键盘的时候作出反应。import sysimport ttyimport termiosdef readchar():fd = sys.stdin.fileno()old_settings = termios.tcgetattr(fd)try:tty.setr...

weixin_39956182的博客 297

【YOLO】Mask Proto分支理解

Mask Proto分支通过解耦全局原型与实例参数,在保持YOLO实时性的同时实现精准分割。其技术核心在于利用多尺度特征生成可组合的原型,结合动态系数适应不同目标形态。未来可进一步融合Transformer的注意力机制,增强对复杂场景的建模能力。

浩瀚之水的专栏 477

一 Flask学习(基础)

1:{'name':'张桂坤','age':18,'gender':'男','text':"当眼泪掉下来的时候,是真的累了, 其实人生就是这样: 你有你的烦,我有我的难,人人都有无声的泪,人人都有难言的苦。2:{'name':'主城','age':28,'gender':'男','text':"高中的时候有一个同学家里穷,每顿饭都是膜膜加点水,有时候吃点咸菜,我们六科老师每天下课都叫他去办公室回答问题背诵课文,然后说太晚啦一起吃个饭,后来他考上了人大,拿到通知书的时候给每个老师磕了一个头"},

weixin_43421392的博客 657

swl安装无法与服务器建立链接,如何解决?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 2078

71、CAN总线双绞线绞距与抗共模干扰的定量关系

摘要:本文探讨了CAN总线双绞线绞距与抗共模干扰的定量关系。通过理论推导得出共模电压与绞距平方成正比,绞距越小抑制效果越好。工程实践表明,工业现场推荐绞距不超过30mm,高频干扰场景需优先优化绞距。实测数据验证了绞距均匀性的重要性,建议控制在15-25mm范围,安装时保持绞合结构完整。案例显示,将绞距从50mm改为15mm后,共模干扰从12V降至1.8V,有效解决了CAN通信问题。绞距选择需兼顾理论计算与现场实测,同时注意与屏蔽层的协同设计。

2401_88858637的博客 189

用python识别微信消息界面聊天输入框位置

如果想要识别电脑屏幕上微信输入框的位置,有什么办法呢? 这里提出了一种通过屏幕像素来识别的思路。 利用python第三方库:PIL图像处理库,对屏幕进行截图,通过分析屏幕像素点的RGB颜色值,只要匹配到微信输入框的某一特征位置像素点的RGB值,即找到了微信输入框的位置。

FujLiny的博客 4135

C 语言多文件编程 : 大型程序的组织与管理

本文介绍了C语言多文件编程的核心概念与实践方法。主要内容包括:1. 多文件编程的必要性:解决单文件编程在大型项目中的维护和协作问题;2. 文件组织方式:头文件(.h)负责声明接口,源文件(.c)实现具体功能;3. 编译链接过程:分阶段编译和链接多个源文件;4. 头文件设计原则:包含接口声明、使用保护机制、保持自包含性;5. 模块化实践:通过示例展示学生信息管理系统的模块划分;6. 构建工具:介绍Makefile的编写和使用方法。文章还提供了创建静态库和动态库的指导,并强调了模块化设计、信息隐藏等软件工程原则

2503_91057718的博客 1948

用python实现todolist_用 Python 开发一个 【个人计划 todolist】

前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。有一句话是这样说的:“凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。今天,你废了么?为了让我们不要那么快的废掉,要不我们用 Python 来写一个网页版的 todolist, 然后在里面制定自...

weixin_35725147的博客 751

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

python编写一个对list_用 Python 开发一个 【个人计划 todolist】

​有一句话是这样说的:“凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。今天,你废了么?为了让我们不要那么快的废掉,要不我们用 Python 来写一个网页版的 todolist, 然后在里面制定自己的计划怎么样?可能你会想到像这种简单一些的网页交互,可以用 Flask 来实现,不过小帅b今天要给你...

weixin_39930711的博客 139

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python输入框输入提交_用 Python 开发一个 【个人计划 todolist】

​有一句话是这样说的:“凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。今天,你废了么?为了让我们不要那么快的废掉,要不我们用 Python 来写一个网页版的 todolist, 然后在里面制定自己的计划怎么样?可能你会想到像这种简单一些的网页交互,可以用 Flask 来实现,不过小帅b今天要给你...

weixin_39988197的博客 271

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

flask怎么从一个网页嵌入另一个网页作为背景_用 Python 开发一个 「个人计划 todolist」...

有一句话是这样说的:“凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。今天,你废了么?为了让我们不要那么快的废掉,要不我们用 Python 来写一个网页版的 todolist, 然后在里面制定自己的计划怎么样?可能你会想到像这种简单一些的网页交互,可以用 Flask 来实现,不过小帅b今天要给你介...

weixin_34456422的博客 477

python代码写完怎么运行-Python 项目代码写完了,然后怎么打包和发布?

你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢?喂,开源么?接下来小帅b就跟你说说,如何打包你的代码。就拿我们上次演示的 用 Python 开发一个 「个人计划 todolist」 为例,写完代码之后,代码的目录是这样的:在 todo 这个目录里面,文件都放在一起了,我们可以这样简单划分一下:这里创建了一个 package 目录,将源码文件放进去,然后把模板文件和数据库文件分门别...

weixin_37988176的博客 1767

python源码文件以什么结尾_Python 项目代码写完了,然后怎么打包和发布?

你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢?喂,开源么?接下来小帅b就跟你说说,如何打包你的代码。就拿我们上次演示的 用 Python 开发一个 「个人计划 todolist」 为例,写完代码之后,代码的目录是这样的:在 todo 这个目录里面,文件都放在一起了,我们可以这样简单划分一下:这里创建了一个 package 目录,将源码文件放进去,然后把模板文件和数据库文件分门别...

weixin_27011811的博客 291

python项目怎么打包上线_Python 项目代码写完了,然后怎么打包和发布?

你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢?喂,开源么?接下来小帅b就跟你说说,如何打包你的代码。就拿我们上次演示的 用 Python 开发一个 「个人计划 todolist」 为例,写完代码之后,代码的目录是这样的:在 todo 这个目录里面,文件都放在一起了,我们可以这样简单划分一下:这里创建了一个 package 目录,将源码文件放进去,然后把模板文件和数据库文件分门别...

weixin_39636245的博客 424

用python实现todolist_So easy !用 Python 开发一个todolist

有一句话是这样说的:“凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。今天,你废了么? 为了让我们不要那么快的废掉,要不我们用 Python 来写一个网页版的 todolist, 然后在里面制定自己的计划怎么样? 可能你会想到像这种简单一些的网页交互,可以用 Flask 来实现,不过小帅b今天要...

weixin_42465953的博客 996

So easy !用 Python 开发一个todolist

有一句话是这样说的:“凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。今天,你废了么...

cainiao_python的博客 1129

Python:masonite初体验TodoList

文档:https://docs.masoniteproject.com/ 初次体验框架,感觉里边提供了丰富的命令行工具可以快速开发, 主要是ORM很棒,区别于Python生态Django等的ORM,和PHP的laravel很像,简单高效 一、环境配置 环境 Python 3.4+ masonite 2.2.26 masonite-cli 2.2.2 安装 $ pip install masoni...

彭世瑜的博客 2894

python 检测网页输入框并输入_So easy !用 Python 开发一个todolist

有一句话是这样说的:“凡事预则立,不预则废”,说的是我们在做事之前,最好制定好你的计划,然后有序的去执行,这样不会产生过多的错误和不爽,如果什么都不准备的话,人就容易废掉。今天,你废了么?为了让我们不要那么快的废掉,要不我们用 Python 来写一个网页版的 todolist, 然后在里面制定自己的计划怎么样?可能你会想到像这种简单一些的网页交互,可以用 Flask 来实现,不过小帅b今...

weixin_42523792的博客 754

利用 Flask 写一个 todolist (一)

准备工作 开始写todolist之前,必然需要写一个简单的程序流程及相关参数,这里我使用思维导图的方式设计了一个简单的界面以及需要实现的内容,较为粗糙,供各位参考。本人自学编程,错漏之处还望各位海涵。 这里主要实现以下几个功能: 时间显示(主要用于显示服务器时间,为后期番茄钟功能进行开发) todolist部分(主要由一个勾选框与文本组成,打勾后自动划线,刷新后自动消失) 新建任务(用于新建t...

葫芦娃的爷爷的博客 1472

用python实现todolist_开发“todolist“”项目及其自己的感悟

一,项目题目:实现“todolist项目”该项目主要可以练习js操控dom事件,事件触发之间的逻辑关系,以及如何写入缓存,获取缓存、固定。二,todolist简介ToDoList是一款非常优秀的任务管理软件,用户可以用它方便地组织和安排计划。该软件短小精悍,仅有一个 数百 KB 的可执行文件就能完成所有功能,并且界面设计优秀,初级用户也能够快速上手。todolist具体功能ToDoList 帮你...

weixin_39678426的博客 1296
上一篇: 用 Python 检验时间序列的平稳性
下一篇: 简化 Python 函数调用的 3 种技巧
酸菜鱼编程
博客等级 码龄6年 155粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值