Mr.RainsdRop的Django笔记:Django与checkbox的联动
前言
米那山,好久不见!
最近期末考试和疫情,让博主们都麻木了。但幸运的是,我安全地回到了家。我最多需要在家隔离几天。
看到这个博客的朋友要注意安全,尽量少出行,出门戴口罩。

废话不多说,进入主题。
假期前培训老师让我们做一个小项目Django框架写一个小项目实现一个简单的网店系统(参考)京东,仅供参考。吃方便面时和方便面盒上的图片一样。
如你所知(不是真的),我是一个纯粹的网络垃圾博主。根本看不懂js和css(后来发现还有jq这么高级的东西),html基本看不懂。所以即使老师让我们找一个前后台模板,博主的过程也很慢。
不过,经过这几天的折磨,博主的“MC商品销售网站1.0”也完成了。
整个过程中最痛苦的部分是“购物车”模块的设计。我在设计过程中遇到了很多麻烦,尝试了各种方法,被迫学习了一些简单的js和css。现在我几乎看不懂一些js和css(我也可以尝试写一些)。
复选框类型的输入标签
对于“购物车”模块,博主在html中使用checkbox的input标签(不知道是不是这么叫,如有错误请评论区指正):
<input nameu003d"cartCheckBox" typeu003d"checkbox" valueu003d"{{i.id}}"idu003d"checkbox{{forloop.counter}}" onclicku003d"selectSingle()"/>
效果如下(这不是上句代码生成的!!!重点是第一列的可选框!!!):

写到这里,博主开始思考:如何查看Py获取选中的购物记录?
如果您经常在网上购买,您会注意到我们最终结账时并非必须一次性清空购物车。我们可以检查一些货物然后付款。尚未付款的商品将保留在您的购物车中,直到您将其删除或付款。
这让博主感到困惑:我不知道复选框是什么!
(其实我不明白输入是什么,但是我在使用的时候并没有出错)
找了很久,终于找到了答案——请求POST。获取列表(标记名)。
Django 和复选框之间的链接
html部分代码:
<!DOCTYPE html>
<HTML浪u003d"恩">
<头部>
<元字符集u003d"UTF-8">
<title>标题</title>
</head>
<正文>
<form actionu003d"{% url 'Reception_test' %}" enctypeu003d"multipart/form-data" methodu003d"post">
{% csrf_token %}
<input nameu003d"cartCheckBox" typeu003d"checkbox" valueu003d"1"/>a<br>
<input nameu003d"cartCheckBox" typeu003d"checkbox" valueu003d"2"/>b<br>
<input nameu003d"cartCheckBox" typeu003d"checkbox" valueu003d"3"/>c<br>
<input nameu003d"cartCheckBox" typeu003d"checkbox" valueu003d"4"/>d<br>
<input nameu003d"cartCheckBox" typeu003d"checkbox" valueu003d"5"/>e<br>
<input nameu003d"cartCheckBox" typeu003d"checkbox" valueu003d"6"/>f<br>
<input typeu003d"submit" valueu003d"Test" hrefu003d"">
</form>
</正文>
</html>
views.py 部分代码:
#用于显示页面
def 测试(请求):
返回渲染(请求,'test.html')
#功能实现
def 测试(请求):
listu003drequest.POST.getlist('cartCheckBox')
打印(列表)
返回 HttpResponse('ok')
request.POST.getlist(tagname) 返回一个列表,该列表由 name 属性值为 tagname 的所有标签的 value 属性值组成。
如果标签是typeu003dcheckbox的输入标签,只有选中标签时才会返回它的value值。

那么我们就可以使用这个方法来获取我们想要的值了。
这只是我突然对写作产生了兴趣。可能不是很清楚。欢迎大家在讨论区留言,互相学习。
这很难做到,但仍然非常有趣。
我每天都想两次:是不是更好?刷题还是不刷?开心不开心?更新,但不是每天;拉丝;平静虽然路漫漫其修远兮,但我还是要追寻世间的真理。

更多推荐

所有评论(0)