Фильтр тегов шаблонов Django показывает ошибку "требуется плавание"
Привет у меня есть тег шаблона Django,
@register.filter("timestamp")
def timestamp(value):
try:
return datetime.fromtimestamp(value).strftime('%Y-%m-%d %H:%M:%S')
except AttributeError:
return 'error'
except KeyError:
return 'error'
и я передаю этот фильтр на мою веб-страницу следующим образом,
<td>{{ table.last_updated|timestamp}}</td>
Но он возвращает ошибку, "требуется поплавок". Пожалуйста помоги мне с этим. Спасибо
2 ответа
Решение
Если вы используете MySQLdb
Модуль для получения данных из вашей базы данных. Он будет конвертировать ваши unixtimestamp db column
на тип питона datetime.datetime
.А также datetime.fromtimestamp
функция использовать float
Объект в качестве входных параметров.
Таким образом, вы должны добавить условие в вашу функцию отметки времени. Если тип value
является datetime.datetime
, преобразовать значение в float
,
import time
import datetime
print time.mktime(datetime.datetime.now().utctimetuple())
Спасибо, все в порядке. Это было плодотворно. Я попробовал следующий метод, и это сработало.
@register.filter("timestamp")
def timestamp(value):
if value is not None:
return datetime.fromtimestamp(value).strftime('%Y-%m-%d %H:%M:%S')
else:
return 'None'