Относительно второй части Вашего вопроса, если производительность и эффективность не важны для Вашего проекта, тогда я предлагаю, чтобы Вы передали данные с плавающей запятой как строку по TCP/IP. Это позволяет Вам избежать проблем, таких как выравнивание байта и упростит отладку.
Посмотрите, как создается ключ кэша :
args = md5_constructor(u':'.join([urlquote(resolve_variable(var, context)) for var in self.vary_on]))
cache_key = 'template.cache.%s.%s' % (self.fragment_name, args.hexdigest())
Ключ представляет собой комбинацию имени фрагмента ( my_posts
) и md5 сумма дополнительных аргументов тега кеша. Поскольку у вас нет дополнительных аргументов, шестнадцатеричный дайджест будет d41d8cd98f00b204e9800998ecf8427e
(хеш md5 пустой строки). Таким образом, ключ кеша должен иметь вид
template.cache.my_posts.d41d8cd98f00b204e9800998ecf8427e
. Если вам нужно более общее решение, этот фрагмент может помочь.