0

我的 request.POST 中有两个列表,我试图在我的代码中使用它们。它们看起来像下面这样,我甚至通过查看 Django 的转储来确认它们的结构:

POST:<QueryDict: {u'rasters': [u'240p', u'720p'], u'title': [u'algies_2'], u'destination': [u'algies_2'], u'framerate': [u'60'], u'formats': [u'MP4', u'WEBM']

在我的一种观点中,我想要做的是以下几点:

...
'-p 2', '-f', ",".join([format.lower() for format in request.POST['formats']]), '-t', ",".join(request.POST['rasters'])
...

但是,它所做的不是将“栅格”和“格式”列表作为逗号分隔列表(即“240p,720p”和“mp4,webm”)加入,而是返回逗号分隔的字符列表每个列表中的最后一个条目(即“7,2,0,p”和“w,e,b,m”)。我觉得我在这里做所有事情;我错过了某种微妙的错误吗?

4

1 回答 1

0

POST是一个QueryDict对象,当在 HTTP POST 中为同一个键提交多个值时,它具有特殊行为。要获得所有这些,请使用该getlist方法。所以你的格式化代码看起来像这样:

",".join([format.lower() for format in request.POST.getlist('formats')])
于 2013-10-21T23:02:02.303 回答