Python — PHP-запросы к конечной точке Flask

Я создаю конечную точку Python на фляге (что я довольно новичок). Я отправляю запросы из PHP на него (так как именно это будет использовать большинство наших пользователей для отправки запросов). У меня есть неассоциативный массив данных, который должен быть отправлен (т.е. что-то вроде 'mode' => array('foo', 'bar', 'baz'))

Однако в колбе при выполнении str(request.form)все, что я выхожу, это ImmutableMultiDict([('mode[1]', 'foo'), ('mode[0]', 'bar'), ('mode[2]', 'baz')])

Теперь, посмотрев на stackoverflow (например, Отправка данных массива с помощью jquery и фляги) Я обнаружил, что я должен быть в состоянии сделать что-то вроде request.form.getlist('mode[]') (с квадратными скобками или без них — в зависимости от того, на какой вопрос вы смотрите здесь). Однако ни одна из них не работает.

В конце концов я нашел временное решение, которое, если вы json_encode данных, прежде чем поместить их в поля сообщения curl (т.е. вы делаете 'mode' => json_encode(array('foo', 'bar', 'baz')) тогда вещи, кажется, получаются хорошо Flask (ImmutableMultiDict([('mode', '["foo","bar","baz"]')]),

Но я не очень понимаю, почему это решение работает — я столкнулся с ним не случайно, а с какой-то образованностью. Может кто-нибудь объяснить, пожалуйста, логику того, почему это работает, или если есть лучшее (TM) решение.

Заранее спасибо!

0

Решение

Ты можешь сделать:

request.form.values()

Таким образом, вы получите только значения из пар диктов в виде массива. Вам не нужно кодировать и декодировать данные в JSON только для чтения значений.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]