【问题标题】:using pycodejs to parse pug templates with mixin blocks and crete django templates使用 pycodejs 解析带有 mixin 块和 crete django 模板的 pug 模板
【发布时间】:2020-09-08 07:03:41
【问题描述】:

当 pug 模板使用接收参数的 mixin 时,有没有办法将 pugDjango 一起使用?我正在尝试使用 pypugjs 从 pug 模板创建 django 模板。

例如:我有一个具有以下混合语法的模板:

+navbar({
    navbarBg: 'bg-transparent',
    navbarStyle: 'navbar-dark',
    navbarBrandColor: 'text-white',
    navbarBtnColor: 'btn-teal',
    navbarContainer: 'container',
    navbarPosition: 'fixed-top'
})

给出以下错误:

unexpected token "attrs" in file sb-ui-kit-pro/src/pug/pages/index.pug on line 18

如果我将 mixin 块重新格式化为以下内容(这样 mixin 就在一行上):

+navbar({ navbarBg: 'bg-transparent', navbarStyle: 'navbar-dark', navbarBrandColor: 'text-white', navbarBtnColor: 'btn-teal', navbarContainer: 'container', navbarPosition: 'fixed-top' })

然后我收到以下错误:

The mixin blocks are not supported yet.

是否有任何替代方法或解决方法?

【问题讨论】:

    标签: django python-3.x django-templates pug pypugjs


    【解决方案1】:

    简短的回答似乎是否定的。

    pypugjs 的功能不完整,虽然将 pug 模板转换为 jinja 而不是 DTL 模板可以避免一些问题,但某些功能(例如相对文件导入)仍然无法实现。

    我希望 pypugjs 可以很好地适用于不使用诸如接收对象的 mixin 和相对导入等功能的小型或简单模板。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-31
      • 2019-10-14
      • 2023-03-13
      • 2018-12-21
      • 2016-01-22
      • 2018-10-21
      • 2011-07-04
      相关资源
      最近更新 更多