【问题标题】:Vue and Django mustache templating conflictVue 和 Django mustache 模板冲突
【发布时间】:2021-01-04 22:45:50
【问题描述】:

我打算在前端使用 Vue,在后端使用 Django,但它们都使用双花括号 {{ }} 作为模板标签。有没有一种简单的方法可以将两者之一更改为使用其他自定义模板标签?

提前致谢。

【问题讨论】:

    标签: javascript django vue.js django-templates


    【解决方案1】:

    如果您不想更改 Vue 中的分隔符,可以使用逐字 Django 标记来防止大括号被解释:

    {% verbatim %}
        {{ myvuevar }}
    {% endverbatim %}
    

    这是一种快速简单的方法,可能就足够了。它的缺点是您不能在逐字标记中呈现 Django 变量(当然)。

    【讨论】:

    • 谢谢。但我希望两者都被渲染。
    【解决方案2】:

    Vue 有一个名为delimiters 的参数,用于设置占位符的分隔符。例如,通过这种方式,您可以将它们设置为双方括号:

    new Vue({
        delimiters: ['[[', ']]'],
        el: "#myapp",
        //...
    })
    
    
    <div>
       {{ djangoPlaceholder }}
       [[ vuePlaceholderValue ]]
    </div>
    

    【讨论】:

    • 是否可以使用 Django 模板来做到这一点?
    猜你喜欢
    • 2015-12-08
    • 2020-10-16
    • 2014-03-23
    • 2011-04-30
    • 2020-04-02
    • 2023-03-21
    • 2013-12-31
    • 2012-01-08
    相关资源
    最近更新 更多