繁体   English   中英

django - getlist()

[英]django - getlist()

我刚发布了这个问题jQuery - 在post请求中传递数组 ,我不在post请求中发送数组,但jQuery代码中没有问题。

问题是在django中接收POST请求。 我确实喜欢这个。

def portfolio_add(request):
    ukeys = request.POST.getlist('ukeys')
    ........etc.......

但是我把ukeys值变成了u'[]' 当我用request.POST检查时,我得到了值为u"<QueryDict: {u'ukeys[]': [u'68c04', u'16149']}>"

那么,如何将这些值作为Django中的列表获取?

谢谢!

带有[]后缀的jQuery POST的数组,因为PHP和一些Web框架理解该约定,并自动为您重新构建服务器端的数组。 Django不会那样工作,但您应该能够通过以下方式访问数据:

ukeys = request.POST.getlist('ukeys[]')

我遇到了同样的问题 - Jakub是对的, []对其他Web框架很有用,但是jQuery的行为可以改变(我不喜欢varname[]格式)。

$.param函数具体是这个,它还接受一个参数来覆盖这种行为。

全球变化:

// put this early in your JS, preferably the first one imported after jQuery
//     or before the document.ready function if using inline js
jQuery.ajaxSettings.traditional = true; 

每次通话变更:

 $.param(data, true);  // true sets traditional mode
// for example:
 $.post('/some/url/', $.param(data, true)).done(callback)

或者当然你可以像Jakub提到的那样使用服务器上的[]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM