0
点赞
收藏
分享

微信扫一扫

Django 实现对接 Vue

如果你正在考虑使用 Django 和 Vue.js 来开发你的应用程序,那么你来对地方了。本文将为你提供一个简单的指南,以帮助你开始使用 Django 和 Vue.js 构建 Web 应用程序。

什么是 Django?

Django 是一个开源的 Python Web 应用程序框架,用于快速开发安全和可扩展的 Web 应用程序。它遵循了模型-视图-控制器(MVC)的软件设计模式,并提供了大量的内置功能,如认证、表单处理、数据库管理等等。

什么是 Vue.js?

Vue.js 是一款轻量级的 JavaScript 框架,用于构建交互式 Web 用户界面。它使用了虚拟 DOM 和组件化的思想来实现高效的渲染和数据绑定,同时也提供了许多有用的工具和插件来简化 Web 开发流程。

Django 和 Vue.js 的对接

在使用 Django 和 Vue.js 构建 Web 应用程序时,我们通常会将 Django 用作后端 API,而 Vue.js 用作前端 UI。这意味着我们可以使用 Django REST framework 来创建 RESTful API,然后使用 Vue.js 来访问和显示这些数据。

创建 Django 后端

首先,我们需要创建一个 Django 项目和应用程序,以便我们可以开始编写后端代码。你可以按照 Django 的官方文档来设置你的 Django 项目。

接下来,我们需要安装 Django REST framework,它是一个第三方库,用于构建 RESTful API。你可以使用 pip 命令来安装它:

pip install djangorestframework

一旦安装完成,我们需要在我们的 Django 项目中添加 REST framework 的配置。在 settings.py 文件中添加以下代码:

INSTALLED_APPS = [
    # ...
    'rest_framework',
]

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.AllowAny',
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.BasicAuthentication',
    ]
}

这将启用 REST framework 并设置一些默认权限和身份验证类。

接下来,我们可以创建一个简单的 Django 模型,并使用 REST framework 来创建我们的 API。以下是一个示例模型:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)
    description = models.TextField()

然后,在我们的应用程序中创建一个名为 serializers.py 的文件,并添加以下代码:

from rest_framework import serializers
from .models import Book

class BookSerializer(serializers.ModelSerializer):
    class Meta:
        model = Book
        fields = '__all__'

这将创建一个名为 BookSerializer 的序列化器,它将我们的 Book 模型转换为 JSON 格式。

最后,在我们的应用程序中创建一个名为 views.py 的文件,并添加以下代码:

from rest_framework import generics
from .models import Book
from .serializers import BookSerializer

class BookList(generics.ListCreateAPIView):
    queryset = Book.objects.all()
    serializer_class = BookSerializer

class BookDetail(generics.RetrieveUpdateDestroyAPIView):
    queryset = Book.objects.all()
    serializer_class = BookSerializer

这将创建两个基于类的视图,BookList 和 BookDetail,它们将处理我们的 GET、POST、PUT 和 DELETE 请求。

创建 Vue.js 前端

现在我们已经创建了我们的 Django 后端,接下来我们需要创建我们的 Vue.js 前端。你可以使用 Vue CLI 来创建一个新的 Vue.js 项目。

一旦你创建了一个新的 Vue.js 项目,你可以使用 axios 来访问我们刚刚创建的 Django API。以下是一个示例组件:

<template>
  <div>
    <h1>Books</h1>
    <ul>
      <li v-for="book in books" :key="book.id">{{ book.title }} - {{ book.author }}</li>
    </ul>
  </div>
</template>

<script>
import axios from 'axios'

export default {
  data () {
    return {
      books: []
    }
  },
  mounted () {
    axios.get('<http://localhost:8000/api/books/>')
      .then(response => {
        this.books = response.data
      })
      .catch(error => {
        console.log(error)
      })
  }
}
</script>

这将使用 axios 来获取我们的书籍数据,并将其显示在 Vue 组件中。

结论

在本文中,我们介绍了如何使用 Django 和 Vue.js 构建 Web 应用程序。我们首先创建了一个 Django 后端,并使用 REST framework 创建了一个简单的 API。然后,我们创建了一个 Vue.js 前端,并使用 axios 访问和显示了我们的数据。希望这个指南能够帮助你入门 Django 和 Vue.js,并开始构建你自己的 Web 应用程序。

举报

相关推荐

0 条评论