【问题标题】:Strict filtering with Jinja operator 'in' [closed]使用 Jinja 运算符“in”进行严格过滤 [关闭]
【发布时间】:2015-06-07 10:28:57
【问题描述】:

我想做一个严格的过滤,如下所示:

{{ dog in 'dogga, cat' }} 返回 false

如果我做错了,有没有办法获得这种严格的过滤或纠正我?

【问题讨论】:

    标签: python django jinja2


    【解决方案1】:

    您的 Jinja 版本是什么?以下两种结构对我来说都很好:

    {{ 1 in [1, 2, 3] }} == True
    {{ 1 in [18, 2, 3] }} == False
    

    [编辑]:

    您在此处将变量 dog 与字符串进行比较:

    {{ dog in 'dogga, cat' }}
    

    我假设您想将字符串 'dog' 与项目列表进行比较,因此您需要先将字符串转换为列表(在 Python 中而不是在模板中这样做是有意义的)并进行比较:

    {{ 'dog' in ['dogga', 'cat'] }} == False
    

    或者如果你真的想在模板中这样做:

    {{ 'dog' in 'dogga, cat'.split()|map('trim') }} returns False
    {{ 'dog' in 'dogga, cat, dog '.split()|map('trim') }} returns True
    

    【讨论】:

    • @user3240361 Jinja2 也有版本。最新的当前是 2.7.3。
    • 我明白了。我做错了
    • 我已经编辑了我的问题。有没有办法做到这一点。
    • @user3240361 好的,我发现您当前的方法存在两个问题。
    猜你喜欢
    • 1970-01-01
    • 2018-09-09
    • 2013-05-19
    • 2021-06-28
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    相关资源
    最近更新 更多