Django模板语法和vue语法冲突的解决方式

Django模板语法和vue语法冲突的解决方式


在django模板语法中是通过{{ 变量名 }}的方式来引用变量,这是一种很流行的方式,在vue和angularJs中也是使用这种语法的,但是在用django+vue进行开发时,会遇到模板语法冲突,django的渲染器会把vue的代码中的变量覆盖掉,给我们的开发带来不便。

1.解决方案1

在django1.5以后的版本,给出了解决方法,即使用标签{% verbatim myblock %} {% endverbatim myblock %}
例如:

{% verbatim myblock %} 
	<span>Message: {{ msg }}</span>
 {% endverbatim myblock %}

被此标签包裹的内容,django的模板引擎不会对其进行渲染,从而解决语法冲突的问题。

2.解决方案2

修改Vue的{{ }} 为{[ ]},即通过js代码<script>Vue.config.delimiters = ["{[", "]}"]</script>
使用的时候:

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

这样就解决了django模板语法和vue模板语法冲突的问题

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章