django与vue前后端交互
时间: 2023-10-23 15:19:34 浏览: 181
Django 和 Vue 可以通过 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>
```
阅读全文