nae*_*ael 10 python django django-compressor ansible
在压缩生产服务器上的django静态文件时,我们突然开始遇到此问题.Ubuntu 16.04,Python 3.x,Django 1.11.我正在使用ansible-playbook进行部署.
错误如下:
CommandError: An error occurred during rendering /chalktalk/app/chalktalk-react-40/chalktalk-react-40/chalktalk/apps/exams/templates/exams/section-edit.html: Invalid input of type: 'CacheKey'. Convert to a byte, string or number first.
它似乎不是一个静态文件中的问题,而是一个普遍的问题.每次运行它时,我们都会得到一个不同的文件.
我正在寻找谷歌上的任何线索,并没有出现相同的错误.
And*_*ker 14
这似乎是底层redis库的问题.请尝试将您的redis版本固定到2.10.62017年8月17日.11月15日发布的新版本3具有此不兼容的更改.
pip install redis==2.10.6
# and/or
echo redis==2.10.6 >> requirements.txt
Run Code Online (Sandbox Code Playgroud)
我不确定你正在使用哪个包可能需要redis作为依赖项,或者你自己使用它.无论哪种情况,都是相同的过程.
我刚刚开始讨论这个问题,但是通过django-redis包,它需要底层的redislib.但是,该软件包实际上并没有限制最大版本,所以它很高兴地升级到一个主要的版本凹凸,你不能真正做到这一点,因为你期望API改变!
确切的代码,在django-redis的主人:
install_requires = [
"redis>=2.10.0",
]
Run Code Online (Sandbox Code Playgroud)
但它应该是这样的
install_requires = [
"redis>=2.10.0, <3",
]
Run Code Online (Sandbox Code Playgroud)
编辑:我刚刚在django-redis(#342)中发现了关于此问题的错误报告,但是当我调查它时,这个问题首先出现在谷歌中.