django要在books接口中不同数据的新类

文件结构大致如下
要在books接口中添加一个处理不同数据的新类,并希望通过 Django 管理后台添加和显示这些数据,需要对三个文件进行修改

1.在 models.py 文件中添加新的模型类。

例如,假设您要添加一个名为 Category 的新模型:

from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=100)
    # 其他字段...

2.在 serializers.py 文件中创建新的序列化器类,

用于将 Category 模型的数据序列化。例如:

from rest_framework import serializers
from .models import Category

class CategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = Category
        fields = '__all__'

3.在 views.py 文件中创建新的视图集合类

,用于处理 Category 模型的数据。例如:

from rest_framework import viewsets
from .models import Category
from .serializers import CategorySerializer

class CategoryViewSet(viewsets.ModelViewSet):
    queryset = Category.objects.all()
    serializer_class = CategorySerializer

4.在 urls.py 文件中使用路由器(router)注册新的视图集合。

例如:

from django.urls import path, include
from rest_framework import routers

from .views import BookViewSet, AuthorViewSet, CategoryViewSet

router = routers.DefaultRouter()
router.register(r'books', BookViewSet)
router.register(r'authors', AuthorViewSet)
router.register(r'categories', CategoryViewSet)

urlpatterns = [
    # 其他 URL 模式
    path('', include(router.urls)),
]

5.运行 Django 服务器,

在终端中使用 python manage.py runserver 命令启动服务器。

6.访问 Django 管理后台(

默认为 http://localhost:8000/admin/)。您需要先添加相应的模型数据表,并为 Category 模型创建一些实例。
admin后台需要创建

7.在浏览器中导航到

http://localhost:8000/books/categories/ 查看类别列表。这将显示通过管理后台添加的类别数据,以 JSON 格式呈现。
在进行任何更改之前,请确保进行数据库迁移,以更新数据库模式。

前端需要读取该数据,可以考虑朝着方向修改

<template>
  <div>
    <ul>
      <li v-for="category in categories" :key="category.id">
        {{ category.name }}
      </li>
    </ul>
  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      categories: [],
    };
  },
  mounted() {
    this.fetchCategories();
  },
  methods: {
    fetchCategories() {
      axios
        .get('/api/categories/')  // 替换为您的后端 API 地址
        .then(response => {
          this.categories = response.data;
        })
        .catch(error => {
          console.error(error);
        });
    },
  },
};
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值