如何将Pug/Jade与Django条件语句和HTML元素属性混合使用?

5

我希望编写Django条件语句来控制HTML属性,例如

<a {% if item.link %} href="{{ item.link }}", target="_blank", rel="noopener", aria-label="{{ item }}" {% endif %}>
     --- Content ---
</a>

我正在使用pug/jade,所以我不能在“内容”块中放置jade/pug语法,否则编译器会出错。我想知道是否有任何方法可以处理这个问题,以避免重复“内容”块。

我也试过了,但没有成功:

a({% if item.link %} href="{{ item.link }}", target="_blank", rel="noopener", aria-label="{{ item }}" {% endif %})
      ----Content---

你尝试过使用类似 PyPugJS 这样的东西吗?https://github.com/kakulukia/pypugjs - Sean
四处查看了一下,但没有找到那个包解决我的问题的地方... - Lu Chinke
1
这是一个编写 Pug 并编译为 Django 语法的系统。您编写 Pug 条件语句,它们将被翻译成 Django 条件语句。我认为您不会找到一种同时使用它们的好方法。 - Sean
1个回答

1

我终于找到了一种实现这个的方法。令人难以置信的是,解决方案非常简单,当我发现它时感觉有点傻:

<a {% if item.link %} href="{{ item.link }}", target="_blank", rel="noopener", aria-label="{{ item }}" {% endif %}>
--- Content ---
</a>

只需要将 --- 内容 --- 块与普通的html内容放在同一缩进级别即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接