Django小项目--待办清单(四)(从表单中获取数据并存入数据库)

本文介绍了如何使用Django创建一个简单的待办事项管理应用。在首页通过表单输入待办事项,点击添加按钮后,内容会存储到数据库并返回页面显示。关键在于理解Django中的表单提交、POST请求处理以及如何将数据保存到数据库。通过Todo模型和views.py文件的编写,实现了待办事项的增删查改功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先进入主页(要记得先进入虚拟环境并且通过python  mange.py runserver启动本地服务器),我们知道主页匹配的网址是localhost:8000/todo/home,在浏览器上输入并回车。

 

在页面的右上角有一个添加待办事项的按钮,输入内容并点击添加之后,内容就会添加到页面的表里面,成为第5个待办事项。

我们知道,点击按钮之后将会提交一个表单。这个表单就是我们的待办事项。

而且需要注意的是,我们在将待办事项添加进数据库后,内容还会返回页面,因此我们在views.py在写相关代码。

在写之前先看表单是怎么样的,我们点开base.html模板页面

action是空,表示提交到当前页面,所以我们在home页面提交,就会提交到home页面,然后就会提交到views.home交给home方法来处理这个提交的内容。

还有一个需要注意的点就是上面的input,它的name是dbsx,在django里面一定要写上这个属性,它是为了后台能够获得该数据的保障。

接着我们看看home.py长啥样,

我们知道,刷新网页是get请求,而提交办单是post请求,因此我们需要写判断语句来区分这两种情况。

我们直接看第二个if语句,request.POST['dbsx'].这里面的参数就是我们提交表单时的那个input的name属性,所以我们可以通过

request.POST['dbsx']来获取提交的数据。

当添加的内容不为空时,我们就要将内容插入数据库。因此我们需要把数据库对应的库导进来

Todo类就是我们的数据库模板,我们可以通过该类的对象来对数据进行插入。

a_row = Todo(thing=request.POST['dbsx'],done=False),我们将待办事项叫做thing,所以我们将获取的数据赋值给它。

赋值完之后一定要进行保存,这样才能真正的修改数据表。

Todo.objects.all()就是显示数据表里面的所有行。

render进行渲染的时候,第三个参数要求是字典,因此我们写一个字典content = {'list':Todo.objects.all()},然后将整个表渲染到home页面,这样我们就实现了将数据库里的表显示到前端页面上。

如果是get请求的话,就直接把现有的表显示到页面即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值