如何访问 Bottle python 中的 GET 查询字符串多维数组
how to access GET query string multidimensional arrays in bottle python
我知道如何从键中获取单个值,例如:
some_val = request.query.some_key
但是当你有这样的 url 时,你如何访问值。
参数解码后的样子:
_
1476782117541
columns[0][data]
source_url
columns[0][name]
columns[0][orderable]
true
columns[0][search][regex]
false
columns[0][search][value]
columns[0][searchable]
true
columns[1][data]
total_size
columns[1][name]
columns[1][orderable]
true
columns[1][search][regex]
false
columns[1][search][value]
columns[1][searchable]
true
columns[2][data]
total_time
columns[2][name]
columns[2][orderable]
true
columns[2][search][regex]
false
columns[2][search][value]
columns[2][searchable]
true
columns[3][data]
tag_name
columns[3][name]
columns[3][orderable]
true
columns[3][search][regex]
false
columns[3][search][value]
columns[3][searchable]
true
draw
1
length
10
order[0][column]
0
order[0][dir]
asc
search[regex]
false
search[value]
start
0
我试过了
request.query.getall('order')
或
request.query.decode()
我正在尝试解析由数据表自动发送的参数,以便我可以相应地修改我的查询。
因为这个问题与使用 https://datatables.net/ 和 bottle python 后端有关。我最终做的是像这样在客户端格式化 args。也许你会发现它有用。
$('#performance-table').DataTable( {
"ajax": {
"url" : "http://someapi.com/dt_set",
"type": 'GET',
"beforeSend": function (request) {
request.setRequestHeader("Authorization", "Bearer " + token);
},
data: function ( args ) {
margs = {}
margs.page_nr = args.draw;
margs.how_many = args.length;
margs.sort_column = args.columns[args.order[0].column].data;
margs.sort_direction = args.order[0].dir;
//return args;
return margs;
}
},
"processing": true,
"serverSide": true,
"columns": [
{ "data": "source_url" },
{ "data": "total_size" },
{ "data": "total_time" },
{ "data": "tag_name" }
]
});
我知道如何从键中获取单个值,例如:
some_val = request.query.some_key
但是当你有这样的 url 时,你如何访问值。
参数解码后的样子:
_
1476782117541
columns[0][data]
source_url
columns[0][name]
columns[0][orderable]
true
columns[0][search][regex]
false
columns[0][search][value]
columns[0][searchable]
true
columns[1][data]
total_size
columns[1][name]
columns[1][orderable]
true
columns[1][search][regex]
false
columns[1][search][value]
columns[1][searchable]
true
columns[2][data]
total_time
columns[2][name]
columns[2][orderable]
true
columns[2][search][regex]
false
columns[2][search][value]
columns[2][searchable]
true
columns[3][data]
tag_name
columns[3][name]
columns[3][orderable]
true
columns[3][search][regex]
false
columns[3][search][value]
columns[3][searchable]
true
draw
1
length
10
order[0][column]
0
order[0][dir]
asc
search[regex]
false
search[value]
start
0
我试过了
request.query.getall('order')
或
request.query.decode()
我正在尝试解析由数据表自动发送的参数,以便我可以相应地修改我的查询。
因为这个问题与使用 https://datatables.net/ 和 bottle python 后端有关。我最终做的是像这样在客户端格式化 args。也许你会发现它有用。
$('#performance-table').DataTable( {
"ajax": {
"url" : "http://someapi.com/dt_set",
"type": 'GET',
"beforeSend": function (request) {
request.setRequestHeader("Authorization", "Bearer " + token);
},
data: function ( args ) {
margs = {}
margs.page_nr = args.draw;
margs.how_many = args.length;
margs.sort_column = args.columns[args.order[0].column].data;
margs.sort_direction = args.order[0].dir;
//return args;
return margs;
}
},
"processing": true,
"serverSide": true,
"columns": [
{ "data": "source_url" },
{ "data": "total_size" },
{ "data": "total_time" },
{ "data": "tag_name" }
]
});