Персональна освітня сорінка
by Pavlo Shcherbukha
В одному з проектів прийшлося перевикористати метод, який розбирає web форму, та передає дані у вигляді прикріпленого файлу. Мені потрібно було повторити це на python тільки програмно. Пошуки по інтернету не дали якогось системного розуміння, тому спробував розробити собі приклад, та розібратися з цим більш детально.
Приклад для вивчення наведено в репозиторії за лінком: Як створити та оборобити http multipart/form-data запити в python flask . В наведених прикладах моделюються запити з html-форми та запити, що створені програмно з використанням двох бібіліотек:
рідного python модуля request та сервісної бібліотеки requests-toolbelt.
Сказати, що я там знайшов великі відмінності - не можу, тому що прицип формуфання запитів схожий. Але використання “рідного” python request модуля мені якось ближче.
В прикладах наведено:
На приймаючій стороні обробка даних виконується однаково, що з html форми, що з запиту, створеного програмно. Слід зробити наголос: щоб обробка була однаковою, слід розуміти що на стороні Flask приймаючий Flask.Request використовує під капотом бібліотеку werkzeug werkzeug.ImmutableMultiDict how to parse , і вимагає розуміння, як розбирати дані, що збережені в werkzeug.ImmutableMultiDict, ну і як правильно підставити в запит дані форми на стороні формування запиту. Ну і основна складність, коли потрібно передати та розібрати кілька файлів.
Правда не розглянутим залишився streaming. Ну, сподіваюсь, то трохи пізніше.
tags: