Привет,
В англоязычной версии SO есть вопрос Using Python Requests to send file and JSON in single request. Мне нужно тоже самое, но только лишь с использованием тествого клиента от Flask. Под тестовым клиентом понимаю результат вызова test_client() от инстанса Flask-а.
Возможно ли это?
На всякий случай, тестовый клиент получаю так:
def create_app(configName='default'):
result = Flask(__name__)
result.config.from_object(config[configName])
# more lines
def setUp(self):
self.app = create_app(configName='testing')
self.app_ctx = self.app.app_context()
self.app_ctx.push()
db.create_all()
self.client = self.app.test_client()
Ответ
Примерно так:
fp = StringIO('my file contents')
metadata = {'key1': 'value1', 'key2': 'value2'}
client.post(
'/upload'
data = {
'file': (fp, 'test.txt'),
'data': json.dumps(metadata),
}
)
Файл будет доступен как request.files['file'], а данные как request.form['data']
Комментариев нет:
Отправить комментарий