【问题标题】:django question:How to pass a list parameter using POST method?django 问题:如何使用 POST 方法传递列表参数?
【发布时间】:2011-01-02 23:28:47
【问题描述】:

假设我要传递的参数叫printdata,和printdata=['a', 'b', 'c']

我使用"input type="hidden" name="alist" value={{printdata}}>" 传递 参数。但是,当我尝试检索参数时 views.py 使用以下代码:

params = request.POST

params["alist"] 等于 ['a', 而不是 ['a', 'b', 'c']。我怀疑 django 使用, 识别参数的结尾。

您有什么建议或其他方法来传递参数吗?

【问题讨论】:

    标签: django django-templates django-views


    【解决方案1】:

    在 HTML 中使用多个隐藏字段,每个值对应一个:

    <input type="hidden" name="alist" value="1" />
    <input type="hidden" name="alist" value="2" />
    <input type="hidden" name="alist" value="3" />
    

    在服务器端,使用request.POST.getlist 以列表的形式读取所有值:

    alist = request.POST.getlist('alist')
    # 'alist' now contains ['1', '2', '3']
    

    【讨论】:

      【解决方案2】:

      确保在 HTML 中的列表字符串两边加上引号。即:

      <input type="hidden" name="alist" value="{{printdata}}">
      

      【讨论】:

        【解决方案3】:

        使用

        request.POST.getlist('alist')
        

        获取值。

        【讨论】:

          【解决方案4】:
          alist = request.POST.get('alist')
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-06-03
            • 1970-01-01
            • 1970-01-01
            • 2016-05-29
            • 2023-03-17
            相关资源
            最近更新 更多