2015-08-18 3 views
0

Я пытаюсь получитьНевозможно печатать двойные фигурные скобки ({{) в сторону браузера

<a class='js-acnhor-scroll' target="_self" 
    data-ng-href="#{{rc.prepareUrlParam(metric_group.title)}}" 
    data-ng-bind="metric_group.title"> 
</a> 

как на стороне браузера, но питон думает, что это переменное и бросить ошибку:

TemplateSyntaxError: Could not parse the remainder: '(metric_group.title)' from 'rc.prepareUrlParam(metric_group.title)' 

Как я могу отправить его, включая двойные скобки ({{) в браузере?

ответ

1

Вы можете использовать {% verbatim %} шаблон блок-, чтобы предотвратить это Django разбирает ту часть шаблона:

{% verbatim %}data-ng-href="#{{rc.prepareUrlParam(metric_group.title)}}" {% endverbatim %} 

В качестве альтернативы , вы можете использовать тег шаблона {% templatetag %} для вывода литерала {{ и }}:

data-ng-href="#{% templatetag openvariable %}rc.prepareUrlParam(metric_group.title){% templatetag closevariable %}" 

Оба метода позволяет вам выводить буквальный {{ или }} из шаблона Джанго, который затем может быть разобранным и обрабатывается с помощью AngularJS.

0

Вы должны удвоить брекеты {{ или }} для вывода одной распорки { или }. Вы можете попробовать сделать это:

#{{{{rc.prepareUrlParam(metric_group.title)}}}}" 

Проверьте это:

>>> x = " {{ Hello }} {0} " 
>>> print x.format(42) 
' { Hello } 42 ' 
+0

Это работает с вашим примером, но теперь я получаю: «Не удалось разобрать остаток: '{{rc.prepareUrlParam (metric_group.title)' ..." –

+0

Нравится что? Можете ли вы опубликовать его полностью? –

+0

Я изменил на data-ng-href = "# {{{rc.prepareUrlParam (metric_group.title)}}}}", и ошибка: TemplateSyntaxError: не удалось проанализировать остаток: '{{rc.prepareUrlParam (metric_group .title) 'from' {{rc.prepareUrlParam (metric_group.title) ' –

Смежные вопросы