0

我正在尝试开发一些基本的 django 模板,其中我最初传递 django 模板变量,它是一个数组 - {{array_list}}。我可以轻松地在这台 dtv 上执行操作。但我无法将此变量发布回视图。例如。我通过 {'array_list': [1,2,3,4]}

<form action="some_action" method="post">
    {% csrf_token %}
    <input type="submit" value="sort">
    <input type="hidden" name="array_list" value={{array_list}}>
</form>

在views.py中:

array_list = request.POST['array_list']
return render(request, 'result.html', {'array_list': array_list})

但我没有将完整的数组返回到 result.html,我只得到 [1,作为 array_list。

4

1 回答 1

1

也许你可以做这样的事情:

首先,使用jointag 将该列表转换为逗号分隔的字符串。

<form action="some_action" method="post">
    {% csrf_token %}
    <input type="submit" value="sort">
    <input type="hidden" name="array_list" value='{{array_list|join:","}}'>
</form>

并获取 POST 请求中的值并将其拆分为,.

array_list = request.POST['array_list'].split(',')
于 2020-01-21T05:32:49.080 回答