当我尝试访问/ admin / djcelery /任务状态/在django app中它返回此错误如何解决此错误
Template error:
In template c:\python27\lib\site-packages\django\contrib\admin\templates\admin \change_list.html, error at line 95
Caught KeyError while rendering: u'minutes'
85 : {% endif %}
86 : {% endblock %}
87 :
88 : <form id="changelist-form" action="" method="post"{% if cl.formset.is_multipart %} enctype="multipart/form-data"{% endif %}>{% csrf_token %}
89 : {% if cl.formset %}
90 : {{ cl.formset.management_form }}
91 : {% endif %}
92 :
93 : {% block result_list %}
94 : {% if action_form and actions_on_top and cl.full_result_count %}{% admin_actions %}{% endif %}
错误行95 !!!
95 : {% result_list cl %}
96 : {% if action_form and actions_on_bottom and cl.full_result_count %}{% admin_actions %}{% endif %}
97 : {% endblock %}
98 : {% block pagination %}{% pagination cl %}{% endblock %}
99 : </form>
100 : </div>
101 : </div>
102 : {% endblock %}
答案 0 :(得分:0)
这个unicode错误在Django中很常见。您需要将从后端发送的字符串转换为字符串,或者在前端解析它。
在后端执行前端错误值的str(x)
。在你的情况下minutes
。
答案 1 :(得分:0)
问题是pypi版本中存在一个已经在github中修复的错误。 在当前的pypi包中(格式在第64行的humanize.py中):
return ungettext(
_('{minutes} minute ago'),
_('{minutes} minutes ago'), minutes
).format(minutes)
这不起作用,它必须是{0}而不是{minutes}。 在github的master分支中已经修复了:
return ungettext(
_('{minutes} minute ago'),
_('{minutes} minutes ago'), minutes
).format(minutes=minutes)
我建议只使用github版本,你可以像这样安装最新的提交:
pip install -e "git+git://github.com/celery/django-celery.git@b6eeb8952594a7f8073901db613801f2ac544cd7#egg=django-celery"
如果您保留提交ID,它将始终安装当前头,但如果有重大更改,则使用特定提交会更安全。