Я сделал новый фильтр в Django.Его имя iarray, и это его определение:
from django import template
from django.template.defaultfilters import stringfilter
register = template.Library()
@register.filter(is_safe=True)
@stringfilter
def iarray(value, arg):
"""
This return the value of dict in arg index:: value[arg]
:param value:
:return:
"""
value = eval(value)
return value[str(arg)]
Теоретически эта функция должна возвращать значение dict в данной позиции.
Проблема заключается в том, что шаблоны визуализируются.Например:
"text": "<h1>Holguín</h1><br /><p>{{ provincias|iarray:'Holguín'|safe }}</p>"...
Приведенный выше код вызывает следующее исключение:
Ошибка при отображении шаблона
In template /srv/www/eicma/templates/eicma/index7.html, error at line 527 (the above line).
Проблема в производственном режиме, в режиме разработкиБеда не существует.Это более полный пример кода:
mapData.paths = [
{
"enable": true,
"name": "Holguín",
"abbreviation": "HO",
"textX": 0,
"textY": 0,
"color": "#59798e",
"hoverColor": "#E32F02",
"selectedColor": "#feb41c",
"url": "#",
"text": "<h1>Holguín</h1><br /><p>{{ provincias|iarray:'Holguín'|safe }}</p>",
"path": "M610.5,166.9 L610.8,167.7 L606.2,167.1 L604.5,165.7 L604.4,164.5 L607.6,163.8 L609.0,164.4 Z M555.8,134.0 L558.3,135.8 .... Z"
},
Итак, мой вопрос следующий:
- Это что-то не так?Конечно, я загрузил фильтры и добавил в INSTALLED_APPS.