【问题标题】:Django Getting Only One String from List Instead of AllDjango 从列表中只获取一个字符串而不是全部
【发布时间】:2013-10-21 23:00:13
【问题描述】:

我的 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”)。我觉得我在这里做所有事情;我错过了某种微妙的错误吗?

【问题讨论】:

    标签: python django post request


    【解决方案1】:

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

    ",".join([format.lower() for format in request.POST.getlist('formats')])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-20
      • 2022-07-30
      • 2016-06-08
      • 2023-02-10
      • 2014-11-02
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多