zoukankan      html  css  js  c++  java
  • django:multivaluedictkeyerror错误

    查了一下,是因为获取前台数据时,用了request.POST[],改用request.POST.get()之后没有这个报错了 

    细节:

    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
    x = request.POST.get('sth')

    以上两种写法是等价的。

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

    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 错误类型

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

  • 相关阅读:
    KBMMW 4.80.00 发布
    RCF库ClientStub.setAutoReconnect
    编译 boost
    2017学习计划
    _beginthreadex注意事项
    push_back模式工作
    总结2016
    <转>好婚姻是彼此放心
    ProcessExplore 最新版
    网站seo新手快速提升自己的技巧
  • 原文地址:https://www.cnblogs.com/gcgc/p/10401458.html
Copyright © 2011-2022 走看看