Невозможно опубликовать дату и время типа python - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь опубликовать объект, содержащий тип DateTime, используя библиотеку запросов Python. Объект выглядит как

data_json = {
    'title': str(row[5]),
    'Type': 'type',
    'subtype': 'subtype',
    'uuid': str(uuid.uuid4()),
    'created_at': timestamp,
    'updated_at': timestamp,
    'code': str(row[8]),
    'version': 1,
}

Метка времени = datetime.datetime.now() и data=json.dumps(data_json) Почтовый звонок был похож на

ответ = requests.post (API_ENDPOINT, заголовки = заголовок, данные = данные)

Это не сработало. Если я конвертировал метку времени в строку, используя str или strftime, я получаю сообщение об ошибке created_at must be datetime type. Аналогично с updated_at. Отчаявшись заставить его работать, я также использовал это решение, но безрезультатно.

Есть ли способ заставить это работать?

1 Ответ

0 голосов
/ 04 мая 2019

Из документации на https://docs.python -eve.org / ru / stable / config.html? Highlight = date_format

Формат даты Python, используемый для анализа и визуализации значений даты и времени. При обслуживании запросов соответствующие строки JSON будут проанализированы и сохранены как значения даты и времени. В ответах значения datetime будут отображаться как строки JSON с использованием этого формата. По умолчанию используется стандарт RFC1123 (ex RFC 822) a,% d% b% Y% H:% M:% S GMT («Вт, 02 апр 2013 10:29:13 GMT»).

Ева ожидает формат, который вы указали в конфигурации. Вы можете получить дату и время в формате по умолчанию, используя что-то вроде этого (python> 3.3):

from email.utils import format_datetime
from datetime import datetime
format_datetime(datetime.now())

Для более старого Python следующий фрагмент должен работать

from email.utils import formatdate
utils.formatdate(datetime.now().toordinal())

Иначе, если вы установили параметр конфигурации DATE_FORMAT, вы можете использовать ту же строку форматирования с strptime.

Надеюсь, это поможет.

...