【问题标题】:pyjade on gae cannot concatenate 'str' and 'long' objectsgae 上的 pyjade 无法连接“str”和“long”对象
【发布时间】:2014-02-17 21:45:50
【问题描述】:

以下 pyjade 代码导致内部服务器错误。当 #{module.key} 在 href 之外使用时,它可以正常工作。有什么想法吗?

table
    // the table isn't working perfectly but leo is making responsive 
    // anyway, will merge that version
    each module, m in modules
      if (m % 5 == 0)
        tr
          td
            a(href='#{module.key}') #{module.name}
      else 
        td
          a(href="#{module.key}") #{module.name}

【问题讨论】:

    标签: google-app-engine pyjade


    【解决方案1】:

    基于使用此行抱怨带有each module, m in modules 的TypeError 的错误,并查看文档以进行jade http://jade-lang.com/reference/#iteration 的迭代,这表明迭代中派生的索引是一个字符串。

    你应该试试

    each module, m in modules
        (int(m) % 5 == 0)
    

    【讨论】:

    • 我正在使用 pyjade,而不是不完全是玉。实际上我意识到上面的语法是错误的。我必须做的:a(href=module.key)。我现在遇到的问题是 pyjade 添加了额外的双引号,就像 ""Tim"" 在:github.com/SyrusAkbary/pyjade/issues/67
    【解决方案2】:

    它是 Syrus,pyjade Python 包的创建者。 Pyjade 不会将 #{} 中的变量转换为字符串,因此您必须自己完成。

    下面的例子应该可以工作

    table
        // the table isn't working perfectly but leo is making responsive 
        // anyway, will merge that version
        each module, m in modules
          if (m % 5 == 0)
            tr
              td
                a(href='#{str(module.key)}') #{module.name}
          else 
            td
              a(href="#{str(module.key)}") #{module.name}
    

    【讨论】:

    • 不幸的是,这在jade或pyjade中都不起作用。请参阅我发布的解决方案。
    【解决方案3】:

    需要做的是在后端将数组分割成一个二维数组,然后遍历翡翠模板中的行。在每个行迭代中,编写一个 tr 并遍历该行的 cols。在遍历 cols 时,写入 td 及其内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-01
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 2015-09-01
      • 2020-01-11
      • 1970-01-01
      相关资源
      最近更新 更多