【问题标题】:Django Template how to fix error "Could not parse the remainder: '|' from '|' "Django模板如何修复错误“无法解析剩余部分:'|'从'|' "
【发布时间】:2019-09-04 12:22:33
【问题描述】:
mydict = {"book1":["user1", "user2", "user3"], 
          "book2":["user1", "user4", "user5"],} 

我想检查“user2 是否阅读 book1?”在模板中的 mydict 中,我执行以下操作:

{% if "user2" in mydict | get_item: "book1" %} 

但是,我得到一个错误:

无法解析余数:'|'从'|'

我该如何解决?

【问题讨论】:

    标签: python django dictionary templates


    【解决方案1】:

    间距有点偏。您不应该在管道字符 (|) 周围放置空格,因此可以这样写:

    {% if "user2" in <b>mydict|get_item:"book1"</b> %}

    话虽如此,如果密钥本身是固定的,则传递一个额外的变量可能更有意义,例如:

    books1 = mydict['book1']
    

    到模板,并像这样渲染它:

    {% if "user2" in <b>books1</b> %}

    所以没有模板过滤器。

    【讨论】:

    • 我想为书创建一个循环,例如:` {% for book in books %} {% if request.user in mydict|get_item:book.name %}` 我该怎么做?
    • @NguyễnTuấnVũ:是的,当然,这不是问题,那么上述方法可能会起作用。我只是说,如果你事先知道key,那么在上下文中放置一个对相应值的引用会更有意义。
    • @NguyễnTuấnVũ:至于评论,request.userUser 对象,而不是 string,所以在这种情况下,您需要将条件重写为 {% if request.user.username in ... %}(或如果您使用了其他模型,则使用其他属性)。
    猜你喜欢
    • 2016-04-03
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 2015-05-05
    • 2011-07-11
    • 2015-03-06
    • 2016-06-13
    • 2011-04-03
    相关资源
    最近更新 更多