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

news2024/11/24 12:07:59

文件结构大致如下
要在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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/714601.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mac菜单栏图标管理软件 Bartender 4

Bartender 4是一款用于管理 macOS 系统状态栏图标的软件。它允许你自定义状态栏图标的显示和排序&#xff0c;帮助你更好地组织和管理你在状态栏中使用的应用程序和工具。 通过 Bartender 4&#xff0c;你可以隐藏或显示状态栏图标&#xff0c;以避免状态栏过多的图标拥挤在一起…

dbeaver远程数据库连接管理工具使用,数据库拒绝访问,用python远程访问postgre数据库

dbeaver软件 安装postgresql sudo apt-get update sudo apt-get install postgresql postgresql-client 修改postgresql密码,创建数据库 psql -U postgres ALTER USER postgres WITH PASSWORD new_password; CREATE DATABASE DB_NAME; \q 允许数据库被远程访问 点insert,加…

解决VS2013 C#无法联网搜索NuGet程序包的问题

1问题描述 2 结果办法 先打开程序包管理控制台 在程序包控制台输入后按回车&#xff1a;[Net.ServicePointManager]::SecurityProtocol[Net.ServicePointManager]::SecurityProtocol-bOR [Net.SecurityProtocolType]::Tls12 完成

7.1.6 Linux 文件系统的运行

所有的数据都得要载入到内存后CPU才能够对该数据进行处理。为了解决耗时等待磁盘的写入/读取上的问题&#xff0c;Linux使用的方式是通过一个称为非同步处理&#xff08;asynchronously&#xff09; 的方式。所谓的非同步处理是这样的&#xff1a; 当系统载入一个文件到内存后…

SAP ABAP结构复用的两种数据结构

一、定义结构中嵌套一层结构&#xff1a; 断点内表看结构是这样的&#xff1a; 二、定义结构中字段都放平层&#xff0c;注意那个include关键字的颜色&#xff0c;要变蓝色&#xff1a; 断点看内表结构&#xff0c;对了&#xff0c;就是我们想要的一层&#xff1a;

Oracle 查询下载补丁集

想必许多朋友在打开oracle支持网站后有些懵不知道如何查询下载数据库的补丁。 登入 登入Oracle support网站&#xff1a; https://support.oracle.com/portal/ 查询文档编号&#xff1a;2118136.2 选择需要的补丁编号&#xff1a; 选择对应的版本&#xff1a; 提前阅读…

java项目之疫情期间医院门诊管理系统ssm源码+文档

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的疫情期间医院门诊管理系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风…

java fastdfs实现文件(图片)的上传下载

1、首先引入依赖、目录结构&#xff1a; <!--fastdfs--> <dependency><groupId>com.github.tobato</groupId><artifactId>fastdfs-client</artifactId><version>1.26.5</version> </dependency>2、在application.yml中…

redis与分布式

主从复制 概念 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff0c;数据的复制是单向的&#xff0c;只能由主节点到从节点。Master以写为主&#xff0c;Slave 以读为…

kong-dashboard安装

简介 kong-dashboard提供了UI界面操作和查看kong&#xff0c;可以进行api、consumers、plugins操作 官网&#xff1a;https://hub.docker.com/r/pgbi/kong-dashboard/ 安装 联网安装 [slviewDEMO:~]$ docker search kong-dashboard INDEX NAME …

终端安全管理系统(软件)能干什么?

随着企业网络化的进程&#xff0c;大多数企业已经开始通过终端安全管理系统来改善企业的网络环境&#xff0c;管控员工的上网行为&#xff0c;但同时还有很多企业不了解其具体的用处&#xff0c;那终端安全管理系统究竟可以干什么呢&#xff1f; 一、加密重要文档&#xff0c;保…

概率DP求期望

[NOIP2016 提高组] 换教室 链接&#xff1a;https://www.luogu.com.cn/problem/P1850 题目描述 对于刚上大学的牛牛来说&#xff0c;他面临的第一个问题是如何根据实际情况申请合适的课程。 在可以选择的课程中&#xff0c;有 2 n 2n 2n 节课程安排在 n n n 个时间段上。…

D352周赛复盘:重点是双指针滑动窗口+质数判断

文章目录 6909.最长奇偶子数组&#xff08;双指针&#xff09;思路完整版 6916.和等于目标的质数对&#xff08;质数判断&#xff0c;重要&#xff09;思路质数判断&#xff1a;埃拉托斯特尼筛法获取所有小于等于n的质数质数定义 完整版为什么只遍历到n/2&#xff1f; 时间复杂…

python 深度学习 解决遇到的报错问题2

目录 一、解决报错UnicodeDecodeError: utf-8 codec cant decode byte 0xe3 in position 15: invalid continuation byte 二、解决ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based pro 三、解决OSError: [WinError 1314…

flutter 中实现动态表单 form generator

flutter 中实现动态表单 form generator 前言 最近有人问我 flutter 前端如何处理动态表单。 这种是企业开发中的常见问题&#xff0c;特别是问卷和工作流审核表单。 今天我们就来实现下这个功能&#xff0c;主要是处理这个业务功能的思路。 原文 https://ducafecat.com/blog/…

通用分页(下)

一.理解分页思想 1.分页的实质 1.1&#xff08;自我概述&#xff09; 用最简单的话来说&#xff0c;就是在一个界面展示不了那么多数据时&#xff0c;通过一点手段将数据一部分一部分的加载出来&#xff0c;从而减少服务器的压力。并且使能够让服务器利用率提高&#xff01; …

把yum源配置为ftp服务

配置yum源为ftp服务 一、在node1部署ftp服务器1.1 挂载镜像1.2 配置ftp的根目录 二、配置node2的yum源为node1的ftp服务器2.1 移除node2中默认的yum源文件2.2 创建新的yum源文件2.3 更新yum软件列表 环境介绍&#xff1a;有node1和node2两台Centos7虚拟机 环境准备&#xff1a;…

C++ 图的遍历

1. 图的遍历 给定一个图 G 和其中任意一个顶点 v0 &#xff0c;从 v0 出发&#xff0c;沿着图中各边访问图中的所有顶点&#xff0c;且每个顶 点仅被遍历一次 。 " 遍历 " 即对结点进行某种操作的意思 。 请思考树以前是怎么遍历的&#xff0c;此处可以直接用来遍…

手搓GPT系列之 - 通过理解LSTM的反向传播过程,理解LSTM解决梯度消失的原理 - 逐条解释LSTM创始论文全部推导公式,配超多图帮助理解(下篇)

本文承接上篇上篇在此和中篇中篇在此&#xff0c;继续就Sepp Hochreiter 1997年的开山大作 Long Short-term Memory 中APPENDIX A.1和A.2所载的数学推导过程进行详细解读。希望可以帮助大家理解了这个推导过程&#xff0c;进而能顺利理解为什么那几个门的设置可以解决RNN里的梯…

Spring中@NotEmpty、@NotBlank、@NotNull 的区别和使用

1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.0.5.RELEASE</version> </dependency>NotEmpty、NotBlank、NotNull 包的位置&#xff1…