zoukankan      html  css  js  c++  java
  • 【django学习】request.POST与request.POST.get两者主要区别

    本文链接:https://blog.csdn.net/xun527/article/details/87777576
    request.POST是用来接收前端传过来的数据
     

    一、request.POST.get('sth')与 request.POST ['sth'] - 区别
    request.POST['sth']KeyError如果'sth'不在,将提出异常request.POST。

    request.POST.get('sth')将返回None如果'sth'不在request.POST。

    此外,.get允许您提供默认值的附加参数,如果该键不在字典中,则返回该参数。

    例如,request.POST.get('sth', 'mydefaultvalue')

    这是任何python字典的行为,并不是特定的request.POST。

    二、这两个片段在功能上是相同的:
    第一个片段:

    try:
    x = request.POST['sth']
    except KeyError:
    x = -1

    第二个片段:
    x = request.POST.get('sth', -1)
    如果数值不存在的话,我们可以指定显示的默认值:

    x = request.POST.get('sth', 'default_value')


    这里我们可以拿字典对象来进行理解:

    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()访问它的主要区别:
    使用类似request.POST['sth']意愿的东西 会出现一个关键错误,如果不存在''sth'。但是使用get()方法字典也会为您提供更好的错误处理

    request.POST.get('sth')
    将返回没有键是'sth不存在',并且通过给第二个参数get()将返回它作为默认值。

    data = request.POST.get('sth','my_default_value')
    如果'sth'键不存在,则数据中的值将为my_default_value。这是使用get()方法优于普通字典访问的优势。


    参考:https://stackoverflow.com/questions/12518517/request-post-getsth-vs-request-poststh-difference

  • 相关阅读:
    Silverlight2 开发环境 安装程序顺序
    Java——IO流超详细总结
    【慢慢学Android】:2.SharedPreferences对数据的存储
    【慢慢学算法】:求最大公约数
    【慢慢学算法】:求较大素数 筛选法
    【慢慢学算法】:排名
    手把手教你将vim配置成一个C/C++的超级IDE
    【慢慢学算法】:特殊乘法
    【慢慢学算法】:qsort()与sort的用法(收藏)
    【慢慢学算法】:数字阶梯求和
  • 原文地址:https://www.cnblogs.com/Ph-one/p/11864813.html
Copyright © 2011-2022 走看看