django 与VUE模板冲突

本文介绍了在Django项目中使用Vue时遇到的模板语法冲突问题。当不使用`{% verbatim %}`标签时,Django无法正确解析Vue模板中的`{{ message }}`。解决方案包括使用`{% verbatim %}`防止Django模板解析,以及两种避免内容转义的方法:添加`|safe`过滤器和使用`{% autoescape off %}`关闭自动转义。
摘要由CSDN通过智能技术生成

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>first vue</title>
<script src="http://static.runoob.com/assets/vue/1.0.11/vue.min.js"></script>
</head>
<body>
<div id="app">
  {% verbatim %} {{ message }} {% endverbatim %}
</div>
<!-- JavaScript 代码需要放在尾部(指定的HTML元素之后) -->
<script>
new Vue({
    el:'#app',
    data: {
        message:{{old}}
    }
});
</script>
</body>

</html>


以上代码中不添加verbatim  会导致django的模板解析拿不到message的值

django中避免转义有2种方式

如果data中包含'/','\'等转义字符,就会被转义掉,通过2种方式解决

方式一:

增加safe参数

<p>{{data|safe}}</p>

方式二:

{% autoescape off %}
     {{ data }}
{% endautoescape %}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DjangoVue 可以通过 RESTful API 进行前后端交互。 1. 在 Django 项目中创建一个 API 视图,使用 Django REST framework 来实现。在视图中,你可以定义 GET、POST 等请求的处理逻辑,然后将数据以 JSON 格式返回给前端。 2. 在 Vue 中,你可以使用 axios 与 Django 项目的 API 进行通信。axios 是一个流行的 HTTP 客户端库,可以在浏览器和 Node.js 环境中使用。 3. 在 Vue 组件中,你可以使用 axios 发送 HTTP 请求,获取数据并将其渲染到页面上。可以使用 Vue.js 的数据绑定语法将数据动态地显示在模板中。 需要注意的是,如果你使用 Vue CLI 创建 Vue 项目,你可以使用 webpack-dev-server 来代理 API 请求,将请求发送到 Django 项目的 API 视图中。这样可以方便地进行开发和调试。 下面是一个简单的示例: 在 Django 中,创建一个 API 视图: ```python from django.http import JsonResponse from rest_framework.decorators import api_view @api_view(['GET']) def get_data(request): data = {'message': 'Hello, world!'} return JsonResponse(data) ``` 在 Vue 中,使用 axios 发送 GET 请求并渲染数据: ```html <template> <div> <p>{{ message }}</p> </div> </template> <script> import axios from 'axios' export default { data () { return { message: '' } }, mounted () { axios.get('/api/get_data') .then(response => { this.message = response.data.message }) .catch(error => { console.log(error) }) } } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值