当前位置:首页 > VUE

django vue实现

2026-01-12 18:01:08VUE

Django 与 Vue.js 集成实现

Django 作为后端框架,Vue.js 作为前端框架,可以通过以下方式实现集成:

前后端分离架构

  • Django 提供 RESTful API 接口,使用 Django REST framework 构建
  • Vue.js 通过 Axios 或 Fetch API 与后端交互
  • 独立部署前端和后端项目,通过跨域请求通信

模板集成方式

  • Django 模板中直接引入 Vue.js
  • 在 Django 的模板文件中加载 Vue 组件
  • 使用 django-webpack-loader 集成 webpack 打包的 Vue 项目

具体实现步骤

后端 Django 配置 安装 Django REST framework:

pip install djangorestframework

配置 settings.py:

INSTALLED_APPS = [
    ...
    'rest_framework',
]

创建 API 视图:

django vue实现

from rest_framework.decorators import api_view
from rest_framework.response import Response

@api_view(['GET'])
def api_data(request):
    data = {'message': 'Hello from Django!'}
    return Response(data)

前端 Vue.js 配置 创建 Vue 项目:

npm init vue@latest my-vue-app

安装 Axios:

npm install axios

调用 Django API:

import axios from 'axios';

axios.get('http://localhost:8000/api/data/')
  .then(response => {
    console.log(response.data);
  });

部署方案

开发环境

django vue实现

  • Django 运行在 8000 端口
  • Vue 开发服务器运行在 8080 端口
  • 配置 CORS 允许跨域请求

生产环境

  • 构建 Vue 项目:npm run build
  • 将 dist 目录内容复制到 Django 的 static 目录
  • 配置 Django 的模板渲染入口 HTML 文件

常见问题解决

跨域问题 安装 django-cors-headers:

pip install django-cors-headers

配置 settings.py:

INSTALLED_APPS = [
    ...
    'corsheaders',
]

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',
    ...
]

CORS_ALLOWED_ORIGINS = [
    "http://localhost:8080",
]

静态文件处理 配置 Django 的 urls.py:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

标签: djangovue
分享给朋友:

相关文章

vue实现hover

vue实现hover

Vue 实现 hover 效果的方法 在 Vue 中实现 hover 效果可以通过多种方式实现,包括使用 CSS、Vue 指令或事件监听。以下是几种常见的方法: 使用 CSS :hover 伪类 通…

vue实现active

vue实现active

Vue 实现 active 状态的方法 在 Vue 中实现 active 状态可以通过以下几种方式实现,具体取决于使用场景和需求。 使用 v-bind:class 动态绑定类名 通过 v-bind:…

vue实现flvvideo

vue实现flvvideo

vue-flv-player 实现 FLV 视频播放 安装依赖包 npm install flv.js vue-flv-player 基础组件引入 <template> <v…

vue实现微云

vue实现微云

Vue 实现微云功能 使用 Vue 实现类似微云的网盘功能需要结合前端框架、后端存储及文件处理技术。以下是关键实现步骤和代码示例: 前端框架搭建 使用 Vue CLI 创建项目基础结构,安装必要依赖…

vue实现投票

vue实现投票

Vue实现投票功能 数据准备 在Vue组件的data中定义投票相关数据,包括选项列表和当前选中状态: data() { return { options: [ { id: 1…

vue实现搜索查询

vue实现搜索查询

Vue 实现搜索查询的方法 双向绑定实现实时搜索 在Vue中可以通过v-model绑定输入框的值,结合计算属性或watch监听输入变化实现实时搜索。 <template> <i…