Jinja:if语句内的字符串内的变量

Posted

技术标签:

【中文标题】Jinja:if语句内的字符串内的变量【英文标题】:Jinja: variable inside string inside if statement 【发布时间】:2018-02-05 13:23:27 【问题描述】:

我正在尝试在 jinja 中创建以下循环:

variable: >
[
    % for replaceme in list %
    
        'name': " "string-replaceme" if replaceme == 'somevalue' else "string-something-replaceme" ",
        'sshKey': " lookup(...) "
    
    % if not loop.last %,% endif %
    % endfor %
]

但这不起作用,有什么想法吗?我尝试了不同的引号、不同的卷曲组合等。

【问题讨论】:

【参考方案1】:

不允许嵌套..

试试: "string-"+replaceme if replaceme == 'somevalue' else "string-something"+replaceme

【讨论】:

正是我需要的。只需将字符串与+结合起来,就这么简单。谢谢! :)【参考方案2】:

你可以使用string formatting operator。

[
    % for item in list %
        'name':  "s1-%s" % item  ,
    % endfor %
]

【讨论】:

以上是关于Jinja:if语句内的字符串内的变量的主要内容,如果未能解决你的问题,请参考以下文章

if语句内href内的php变量

t-SQL:地理点字符串内的选择语句

尝试将字符串分配给结构内的字符串变量时出错

字节字符串内的变量动态更改

在渲染内的if语句中执行内容[重复]

iOS SwiftUI 中 ForEach 内的 if 语句