• django学习——request.POST.get(‘key’) 、 request.GET.get('key', '')


    request.POST是用来接受从前端表单中传过来的数据,比如用户登录过程中传递过来的username、passwrod等字段。返回类型是字典;

    在后台进行数据获取时,有两种方法(以username为例):request.POST[‘username’]与request.POST.get(‘username’),那么这两者有什么不同之处呢?

    如果传递过来的数值不为空,那么这两种方法都没有错误,可以得到相同的结果。但是如果传递过来的数值为空,那么request.POST[‘username’]则会提示Keyerror错误,而request.POST.get(‘username’)则不会报错,而是返回一个None。举例来说:

    try:
    x = request.POST['sth']
    except KeyError:
    x = None
    1
    2
    3
    4
    x = request.POST.get('sth')
    1
    以上两种写法是等价的。

    如果数值不存在的话,我们可以指定显示的默认值:

    x = request.POST.get('sth', 'default_value')
    1
    这里我们可以拿字典对象来进行理解:

    list_test = {'a': 1, 'b': 2}

    list_test.get('a') # 得到结果1
    list_test.get('c') # 得到结果none
    list_test.get('c', 3) # 得到设定的默认值3
    list_test['b'] # 得到结果 2
    list_test['c'] # 返回一个Keyvalue 错误类型

    -------------------------------

    GET一样:

    query = request.GET.get('q', '')

    寻找名为 q 的GET参数,而且如果参数没有提交,返回一个空的字符串。

    注意在 request.GET 中使用了 get() 方法,这可能让大家不好理解。这里的 get() 是每个python的的字典数据类型都有的方法。使用的时候要小心:假设 request.GET 包含一个 'q' 的key是不安全的,所以我们使用 get('q', '') 提供一个缺省的返回值'' (一个空字符串)。如果只是使用 request.GET['q'] 访问变量,在Get数据时 q 不可得,可能引发 KeyError .

  • 相关阅读:
    java图片压缩 、图片缩放,区域裁剪,水印,旋转,保持比例。
    java树形菜单实现
    vue-resource的使用,前后端数据交互
    如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件
    Git以及TortoiseGit的下载安装使用
    springBoot总结
    idea如何设置类头注释和方法注释
    (document).height()与$(window).height()
    使用js对中文进行gbk编码
    JS中URL编码参数(UrlEncode)
  • 原文地址:https://www.cnblogs.com/feiyueNotes/p/11107315.html
Copyright © 2020-2023  润新知