日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

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

發(fā)布時間:2025/4/16 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用python实现todolist_So easy !用 Python 开发一个todolist 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原標(biāo)題:So easy !用 Python 開發(fā)一個todolist

有一句話是這樣說的:“凡事預(yù)則立,不預(yù)則廢”,說的是我們在做事之前,最好制定好你的計劃,然后有序的去執(zhí)行,這樣不會產(chǎn)生過多的錯誤和不爽,如果什么都不準(zhǔn)備的話,人就容易廢掉。

今天,你廢了么?

為了讓我們不要那么快的廢掉,要不我們用 Python 來寫一個網(wǎng)頁版的 todolist, 然后在里面制定自己的計劃怎么樣?

可能你會想到像這種簡單一些的網(wǎng)頁交互,可以用 Flask 來實現(xiàn),不過小帥b今天要給你介紹的是另一個輕量級的 web 框架,它叫 bottle ,知道的人相對較少,但它也是很好用的呢。

我們要在網(wǎng)站里面寫入計劃內(nèi)容,就需要用到數(shù)據(jù)庫,我們也可以使用輕量級的 sqlite 數(shù)據(jù)庫實現(xiàn),這個 Python 有自帶的 sqlite3 庫。

可以使用它來創(chuàng)建一張 todo 數(shù)據(jù)表:

其中的 task 字段主要是用來存放用戶要添加的計劃內(nèi)容, status 用來標(biāo)記用戶是否完成計劃的狀態(tài),比如 1 表示未完成, 0 表示已經(jīng)完成。

可以通過 insert 插入每一條任務(wù)的數(shù)據(jù):

執(zhí)行:

這時候在你當(dāng)前的目錄下就會生成一個數(shù)據(jù)庫文件,等會所有的計劃數(shù)據(jù)都存儲在這里面:

如果你之前沒有安裝過 bottle ,可以使用 pip 安裝一波,它沒有依賴其它的庫,安裝很快就能搞定。

安裝完成之后導(dǎo)入 bottle:

定義路由,當(dāng)你訪問 /todo 首頁的時候就會調(diào)用這個方法:

這時候可以連接我們剛剛創(chuàng)建數(shù)據(jù)庫,順便將未完成的任務(wù)查找出來,然后將結(jié)果返回進行顯示:

接著執(zhí)行服務(wù),你可以自己指定運行在服務(wù)器上的什么端口上,這里我指定為 8888 端口:

運行 Python 之后,就可以在瀏覽器打開:localhost:8888/todo

可以看到,我們剛剛插入的數(shù)據(jù)顯示出來了,說明服務(wù)和數(shù)據(jù)庫運行正常。

那么接下來就把數(shù)據(jù)顯示到首頁,可以使用 bottle 的模板引擎實現(xiàn)數(shù)據(jù)的綁定,在當(dāng)前的目錄下創(chuàng)建一個 make_table.tpl 文件。

這里我們使用了 HTML 的模板標(biāo)記語言,我們可以在剛剛的 Python 文件中將在數(shù)據(jù)庫中得到的結(jié)果寫到 rows 里面,然后在 make_table模板文件中就可以使用它循環(huán)得到相關(guān)的數(shù)據(jù)了:

運行一波:

數(shù)據(jù)成功綁定。

接下來插入計劃的內(nèi)容,可以使用 bottle 的 request 做 Get 和 Post 請求。

創(chuàng)建一個 new_task.tpl 模板文件:

這里定義了一個 form 表單,讓它去請求 new 方法,可以在 py 中定義這個方法,先來展示看看:

運行一波:

那么當(dāng)用戶點擊提交的時候,需要將輸入框的內(nèi)容獲取,然后保存到數(shù)據(jù)庫中,可以在 new 方法中這樣定義:

這里主要是通過 GET.task 來獲取輸入框的數(shù)據(jù),然后將數(shù)據(jù)插入到數(shù)據(jù)庫中,添加成功后顯示一個成功添加的提醒。

運行一下:

可以可以,回到首頁可以看到數(shù)據(jù)確實添加了:

可以添加計劃了,接下來要實現(xiàn)的是對計劃的編輯,可以讓用戶選擇每條計劃是否完成了,以及修改計劃的內(nèi)容:

可以寫一個 edit_task.tpl 模板文件來進行數(shù)據(jù)的展示和提交:

這里的 form 表單綁定的請求是 edit 方法,其中 {{no}} 指的是計劃表中的 id,這樣就能根據(jù) id 來修改特定的計劃數(shù)據(jù)。

想要在 input 標(biāo)簽中顯示相關(guān)的計劃內(nèi)容和狀態(tài),可以在 py 里面通過數(shù)據(jù)庫獲取然后返回,放到 old 參數(shù)中,像這樣:

而當(dāng)用戶進行編輯操作提交的時候,可以將計劃的內(nèi)容和狀態(tài)獲取過來,然后根據(jù) id 來修改數(shù)據(jù)庫中的計劃數(shù)據(jù):

在 route 定義那里的 指的是我們要接收一個參數(shù)為 no 的 int 類型數(shù)據(jù),也就是 id。

運行一波就是這樣:

回到首頁可以看到已經(jīng)完成的計劃就消失了:

這樣,一個個人計劃所需的主要功能就實現(xiàn)了呀~當(dāng)然頁面有點丑陋,可以用 css 來裝飾一下,這個交給你自己玩玩,這次主要是想讓你了解 bottle 的使用,等會我把源碼都發(fā)你,你可以基于此做更多的改進。

對于每個任務(wù)的內(nèi)容,也可以寫一個方法進行查詢,甚至你還可以使用 bottle 寫一個 API 直接返回 Json:

這時候可以這樣訪問接口:

當(dāng)然你可以快速自定義 404 頁面,使用 bottle 的 error 模塊實現(xiàn):

ok,以上。

ps:本篇教程主要參考至 bottle 官方文檔的教程,附上 bottle 的官方文檔鏈接:

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

源碼可以在公眾號后臺發(fā)送 0710 獲取。

責(zé)任編輯:

總結(jié)

以上是生活随笔為你收集整理的用python实现todolist_So easy !用 Python 开发一个todolist的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。