将数组作为烧瓶

时间:2016-06-30 14:38:38

标签: python flask

如果我发送这样的表格:

<form method="POST" ...>
    <input type="text" name="filters[price_from]">
    <input type="text" name="filters[price_to]">
</form>

到PHP脚本它会自动创建一个数组,我可以像这样访问变量:

$_POST['filters']['price_to']

 $_POST['filters']

是可迭代的

这是我的问题,如何在FLASK中获得相同的效果?

request.form.getlist('filters')

return [](空列表)

request.form.get('filters[price_from]')

返回正确的值,但这不是他们期望的结果(不可迭代)。

我应该重建表格还是使用其他方法?

1 个答案:

答案 0 :(得分:1)

您无法使用密钥访问python数组/列表,如果您想使用密钥访问数据,将filters存储为json对象,那么您将能够访问数据使用密钥。

<form method="POST" enctype="application/JSON">
    <input type="text" name="filters[price_from]" value="" >
    <input type="text" name="filters[price_to]" value="" >
</form>

filters = request.get_json()

filters['price_from'] #returns price_from value
filters['price_to'] #returns price_to value

在php中,数组有几件事。

  

PHP中的数组实际上是一个有序的映射。映射是将值与键关联的类型。此类型针对多种不同用途进行了优化;它可以被视为数组,列表(向量),哈希表(地图的实现),字典,集合,堆栈,队列,甚至更多。

在python中,数组 a list由索引访问。

>>> filters = ['price_from', 'price_to']
>>> filters[0]
'price_from'
>>> filters[1]
'price_to'

按键访问dict

>>> filters = {'price_from':'value', 'price_to':'another_value'}
>>> filters['price_from']
'value'
>>> filters['price_to']
'another_value'