Django 与 Vue 语法冲突问题完美解决方法

Django 与 Vue 语法冲突问题完美解决方法

当我们在 django web 框架中,使用 vue 的时候,会遇到语法冲突.

因为 vue 使用 {{}}, 而 django 也使用 {{}}, 因此会冲突.

解决办法 1:

在 django1.5 以后,加入了标签:

{% verbatim myblock %} {% endverbatim myblock %}

 

被此标签包裹的代码将不会被 Django 的模板引擎渲染。

因此,我们可以把带有 {{}} 的 Vue 代码放在 {% verbatim myblock %} 标签中间(注:标签中间可放置完整 html 标签,例如 body,div 等), 例如:

<div id="app1">
  {% verbatim myblock %}
    {{ message1 }}
  {% endverbatim myblock %}
</div>

 

解决办法 2:

修改 Vue 的 {{}} 为 {[ ]}

<script>Vue.config.delimiters = ["{[", "]}"]</script>

 

使用的时候:

<div id="app1">
  {[ message1 ]}
</div>

 

ps:vue 之 django 和 vue 语法冲突处理

修改 vue.js 的默认的绑定符号

vue2.0 已经废弃这种写法:

Vue.config.delimiter=['[[',']]']

 

正确姿势:

var vm = new Vue({
  delimiters:['[[', ']]'],
  el:'#box',
  data:{
    arr:['apple','pear','grape']
  },
  methods:{
    add:function () {
      this.arr.push('tomato')
    }
  }
})

 

总结

以上所述是 Django 与 Vue 语法的冲突问题完美解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言

 
posted @ 2022-09-04 11:14  侬侬发  阅读(167)  评论(0编辑  收藏  举报