美文网首页
参数传递方式小结

参数传递方式小结

作者: 花括弧 | 来源:发表于2019-08-05 17:52 被阅读0次

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

  # 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

相关文章

  • 参数传递方式小结

    get传参数:/cart/add?sku_id=1&count=3post传参数:['sku_id': 1, 'c...

  • Practical Java: 一般技术

    实践1:参数以by value方式而非by reference方式传递 Java中的参数以by value方式传递...

  • 前端页面间数据传递常用的几种方式

    1、常用方式 url页面路径携带参数传递 localStorage方式传递 sessionStorage方式传递 ...

  • 【react-native】小结

    【react-native】小结 一 底层 定义一个ui 调用 通过参数传递将参数: isShowShopInfo...

  • Python参数传递小结

    2016.06.14更新:又踩坑了,百度后得到解决,参考链接:python:函数传参是否会改变函数外参数的值 入参...

  • 引用传递和值传递(转载)

    ABAP中FORM参数的传递有以下几种方式。1.引用传递(CALL BY REFERENCE)传递参数时将参数的地...

  • python 参数传递总结

    参数的传递 python中函数的参数通过赋值的方式来传递引用对象。下面总结通过总结常见的函数参数定义方式,来理解参...

  • 数据结构与算法 javascript

    基础概念 javascript中,函数的参数传递方式都是按值传递,没有按引用传递的参数。但是javascript中...

  • C语言 函数传参的理解

    C语言有点东西 不像JAVA 不需要复杂考虑参数传递问题 java就两种参数传递方式 值传递AND引用传递...

  • C#参数传递

    当调用带有参数的方法时,您需要向方法传递参数。在 C# 中,有三种向方法传递参数的方式: 1.值参数 这种方式复制...

网友评论

      本文标题:参数传递方式小结

      本文链接:https://www.haomeiwen.com/subject/dkfvdctx.html