前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >参数传递方式小结

参数传递方式小结

作者头像
lesM10
发布2019-08-27 17:00:37
9350
发布2019-08-27 17:00:37
举报

get传参数:/cart/add?sku_id=1&count=3 post传参数:['sku_id': 1, 'count': 3] url传参数:url配置时,捕获参数

代码语言:javascript
复制
  # url传参 示例
    re_path(r'^goods/(?P<goods_id>\d+)$', DetailView.as_view(), name='detail'), # 详情页url
    re_path(r'list/(?P<type_id>\d+)/(?P<page>\d+)$', ListView.as_view(), name='list'),  # 列表页

涉及到数据的修改,采用post传参 只涉及到数据的捕获,采用get传参


商品添加到购物车:

  1. 请求方式: 采用ajax post
  2. 传递参数: 商品id,商品的数目

django防止csrf的方式: 1)默认打开csrf中间件 2)表单post提交数据时 需要加上{% csrf %}标签

防御原理: 1)渲染模板文件时,把{% csrf %}标签 替换为 一个叫做csrfmiddlewaretoken的隐藏域 2)服务器交给浏览器 保存一个名为csrftokencookie信息 3)提交表单时,两个值(csrfmiddlewaretoken, csrftoken)都会发给服务器。服务器拿到两个值 进行对比,对比一致 则csrf验证通过,否则 报csrf错。

表单提交时 默认会把csrfmiddlewaretoken进行提交。 ajax提交时 也有 csrf验证。而ajax提交时 需要自己拿到csrfmiddlewaretoken的值 进行提交。

ajax 发起的请求,都在后台。在浏览器中 是看不到效果的。


前后端 分离时,要确定的几件事情:

  • 前端是否会传递数据传递什么数据数据的格式
  • 前端的访问方式(get, post)
  • 返回什么数据给前端,返回数据的格式

============================================

request.POST request.GET 获得的 都是QueryDict类型的值。 QueryDict允许 一个key对应多个value。 通过request.POST.getlist('sku_ids') 获取sku_ids对应的 多个value

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.08.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档