首页 > 解决方案 > 如何将javascript中的jinja表达式与转义序列字符串进行比较?

问题描述

我正在开发一个使用 jinja 作为模板语言的 django 项目。我的问题:

我在 html 中有一个 li 标签:

<li onclick="toggle_size_selection('{% if \'/\' in co.2 %}{{ co.1 }}{% else %}{{co.2}}{% endif %}')">Point1</li>

当我访问 url 时,它会返回以下错误作为响应:

TemplateSyntaxError at /detail-page/
Could not parse the remainder: '\'/\'' from '\'/\''

如何正确写这个表达式?

"toggle_size_selection('{% if \'/\' in co.2 %}{{ co.1 }}{% else %}{{co.2}}{% endif %}')"

标签: javascriptdjangojinja2

解决方案


我假设您想传递一个单引号字符串toggle_size_selection,您可以将最外层的单引号替换为&#39;Django 模板而不对其进行评估。

<li onclick="toggle_size_selection(&#39;{% if '/' in co.2 %}{{ co.1 }}{% else %}{{co.2}}{% endif %}&#39;)">Point1</li>

参考:Django 转义


推荐阅读