Vue3前端与Python(Django)后端接口简单代码示例

 更新时间:2025年01月15日 09:05:08   作者:闲人陈二狗  
这篇文章主要介绍了如何使用Django创建项目和应用,配置跨域访问,并编写视图和API,同时还讲述了如何使用Vue3创建项目,编写组件调用后端API,需要的朋友可以参考下

后端(Django)

  • 创建Django项目和应用
    • 确保你已经安装了Django。如果没有安装,可以使用以下命令安装:
    pip install django
    
    • 创建一个新的Django项目:
    django-admin startproject myproject
    
    • 进入项目目录并创建一个新的应用程序:
    cd myproject
    python manage.py startapp myapp
    
  • 配置项目
    • 在 myproject/settings.py 文件中,将 myapp 添加到 INSTALLED_APPS 列表中,并配置允许跨域访问(因为Vue和Django可能运行在不同端口)。安装 corsheaders 库:
    pip install django-cors-headers
    
    • 在 INSTALLED_APPS 中添加 corsheaders
    INSTALLED_APPS = [
      ...
        'corsheaders',
       'myapp',
    ]
    
    • 在 MIDDLEWARE 中添加 corsheaders 中间件:
    MIDDLEWARE = [
        'corsheaders.middleware.CorsMiddleware',
        'django.middleware.common.CommonMiddleware',
      ...
    ]
    
    • 配置允许所有来源访问(在生产环境中请替换为实际的前端域名):
    CORS_ALLOW_ALL_ORIGINS = True
    
  • 编写视图和API
    • 在 myapp/views.py 中编写一个简单的视图函数:
    from django.http import JsonResponse
    
    def get_data(request):
        data = {'message': '这是来自Django后端的数据'}
        return JsonResponse(data)
    
    • 在 myapp/urls.py 中配置URL:
    from django.urls import path
    from. import views
    
    urlpatterns = [
        path('api/data/', views.get_data, name='get_data'),
    ]
    
    • 在 myproject/urls.py 中包含 myapp 的URL配置:
    from django.contrib import admin
    from django.urls import path, include
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('myapp.urls')),
    ]
    
  • 运行后端
    python manage.py runserver
    

前端(Vue 3)

  • 创建Vue 3项目
    • 确保你已经安装了 vue@latest。如果没有安装,可以使用以下命令安装:
    npm create vue@latest
    
    • 选择默认配置或根据提示进行自定义配置。
  • 编写Vue组件
    • 在 src/views/Home.vue 中修改代码以调用后端API:
    <template>
        <div>
            <h1>Vue 3与Django集成示例</h1>
            <p>{{ responseData.message }}</p>
        </div>
    </template>
    
    <script setup>
    import { ref } from 'vue';
    import axios from 'axios';
    
    const responseData = ref({});
    
    const fetchData = async () => {
        try {
            const response = await axios.get('http://127.0.0.1:8000/api/data/');
            responseData.value = response.data;
        } catch (error) {
            console.error('Error fetching data:', error);
        }
    };
    
    fetchData();
    </script>
    
    <style scoped>
    /* 样式 */
    </style>
    
  • 运行前端
    • 在项目目录中运行以下命令启动Vue开发服务器:
    npm run dev
    

现在,Vue 3前端应用可以成功调用Django后端提供的API,并展示返回的数据。请确保后端和前端服务器都在运行,并且根据实际情况调整API的URL。

总结

到此这篇关于Vue3前端与Python(Django)后端接口的文章就介绍到这了,更多相关Vue3前端与Django后端接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue3编写组件的几种实现方式

    vue3编写组件的几种实现方式

    这篇文章主要介绍了vue3编写组件的几种实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Vue Ajax跨域请求实例详解

    Vue Ajax跨域请求实例详解

    这篇文章主要介绍了Vue Ajax跨域请求实例详解,需要的朋友可以参考下
    2017-06-06
  • vue动态路由:路由参数改变,视图不更新问题的解决

    vue动态路由:路由参数改变,视图不更新问题的解决

    今天小编就为大家分享一篇vue动态路由:路由参数改变,视图不更新问题的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • Vue优化:常见会导致内存泄漏问题及优化详解

    Vue优化:常见会导致内存泄漏问题及优化详解

    这篇文章主要介绍了Vue优化:常见会导致内存泄漏问题及优化详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Vue3+Element-plus项目自动导入报错的解决方案

    Vue3+Element-plus项目自动导入报错的解决方案

    vue3出来一段时间了,element也更新了版本去兼容vue3,下面这篇文章主要给大家介绍了关于Vue3+Element-plus项目自动导入报错的解决方案,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • vue使用openlayers实现移动点动画

    vue使用openlayers实现移动点动画

    这篇文章主要为大家详细介绍了vue使用openlayers实现移动点动画,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • Vue项目中使用fontawesome图标库的方法

    Vue项目中使用fontawesome图标库的方法

    fontawesome的图标有免费版和专业版,本文主要使用free版本,一般free版本的图标够用,free图标又划分为三个图标库,主要有实心图标solid、常规图标regular及品牌图标brand,根据需求去下载对应的图标库,无须全部下载,对vue fontawesome图标库相关知识感兴趣的朋友一起看看吧
    2023-12-12
  • 最后说说Vue2 SSR 的 Cookies 问题

    最后说说Vue2 SSR 的 Cookies 问题

    这篇文章主要介绍了最后说说Vue2 SSR 的 Cookies 问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • vue 移动端注入骨架屏的配置方法

    vue 移动端注入骨架屏的配置方法

    骨架屏就是在页面未渲染完成的时候,先用一些简单的图形大致勾勒出页面的基本轮廓,给用户带来更好的体验。这篇文章主要介绍了vue 移动端注入骨架屏,需要的朋友可以参考下
    2019-06-06
  • 详解vuejs中执行npm run dev出现页面cannot GET/问题

    详解vuejs中执行npm run dev出现页面cannot GET/问题

    这篇文章主要介绍了详解vuejs中执行npm run dev出现页面cannot GET/问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04

最新评论