Я попробовал в python3.
SECRET_KEY пришлось сделать свой, с типом byte
:
MY_SECRET_KEY = b'Cs12_еще_много_всяких_символов'
а в функции создания хеша, кодировать msg
в utf-8:
...
return hmac.new(key=secret_key, msg=value.encode('utf-8'),
digestmod=hashlib.md5).hexdigest()
-
Оригинальный рецепт в python2 или я где-то ступил?
-
И еще, я не форматировал время, а просто сделал str(поле_datetime)
, чтобы строка с милисекундами была. В форматировании нет какого тайного смысла? (может совместимость между версиями python, или еще чего?)
-
Ну и последнее... Если версия Django поменяется - не будет ли там по другому хеш вычислять? А то накроются потом все ссылки :)
Обновлено 24 Сен. 2016, 0:26 EvgIq.