所以我在金字塔上玩Mako,我正在尝试使用内联语句。
<li>${'<a href="#">Opinions</a></li>' if whichnav == 'opinions' else 'Opinions'}
输出:
<li><a href="#">Opinions</a></li>
鉴于:
% if whichnav =='opinions':
<li><a href="#">Opinions</a></li>
% else:
<li>Opinions</li>
% endif
正确输出而不转义HTML字符:
<li><a href="#">Opinions</a></li>
我想让我的代码尽可能干净,因此内联if语句更可取,但我不明白为什么HTML字符被转义,而使用%则不是。谢谢!
答案 0 :(得分:2)
看起来您的HTML正在转义。如果您将内联if
更改为此内容会发生什么:
${'<a href="#">Opinions</a></li>' if whichnav == 'opinions' else 'Opinions' | n}
(编辑:放置| n
以禁用条件后的过滤。