Vue 3前端与Python(Django)后端接口简单示例

项目

  • 后端(Django)
  • 前端(Vue 3)
  • 后端(Django)

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

    前端(Vue 3)

    1. 创建Vue 3项目
    2. 确保你已经安装了 vue@latest。如果没有安装,可以使用以下命令安装:
    3. npm create vue@latest
      
    4. 选择默认配置或根据提示进行自定义配置。
    5. 编写Vue组件
    6. src/views/Home.vue 中修改代码以调用后端API:
    7. <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>
      
    8. 运行前端
    9. 在项目目录中运行以下命令启动Vue开发服务器:
    10. npm run dev
      

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

    作者:闲人陈二狗

    物联沃分享整理
    物联沃-IOTWORD物联网 » Vue 3前端与Python(Django)后端接口简单示例

    发表回复