DRF 学习
一、安装DRF
1、pip install djangorestframework -i https://pypi.douban.com/simple
2、pip install pymysql -i https://pypi.douban.com/simple
二、创建Django项目
1、django-admin startproject drfdemo
三、添加rest_framework应用
1、INSTALLED_APPS = [
...
'rest_framework',
]
四、创建模型操作类
1、创建模型操作类
class Student(models.Model):# 模型字段name = models.CharField(max_length=100,verbose_name="姓名")sex = models.BooleanField(default=1,verbose_name="性别")age = models.IntegerField(verbose_name="年龄")class_null = models.CharField(max_length=5,verbose_name="班级编号")description = models.TextField(max_length=1000,verbose_name="个性签名")class Meta:db_table="tb_student"verbose_name = "学生"verbose_name_plural = verbose_name
2、创建数据库 create database students charset=utf8;
3、执行数据迁移 把app01增加到INSTALL_APPS中
4、在__init__.py中增加pymysql做为数据库驱动
import pymysql
pymysql.version_info = (1, 4, 13, "final", 0)
pymysql.install_as_MySQLdb()
5、在setting.py配置文件中设置mysql的账号密码
DATABASES = {# 'default': {# 'ENGINE': 'django.db.backends.sqlite3',# 'NAME': BASE_DIR / 'db.sqlite3',# }'default':{'ENGINE':'django.db.backends.mysql','NAME': "students","HOST": "127.0.0.1","PORT": 3306,"USER": "root","PASSWORD": "123456"}
}
6、终端命令下执行数据迁移
python manage.py migrate #创建表结构
python manage.py makemigrations app01#让Django知道模型有一些变更 注意是app01 应用名称,不是项目名称
python manage.py migrate app01 #创建表结构 注意是app01 应用名称,不是项目名称
7、在app01中新建serializers.py用于保存应用的序列化器。
# 创建序列化器类,回头会在试图中被调用 创建一个StudentModelSerializer用于序列化与反序列化。
class StudentModelSerializer(serializers.ModelSerializer):class Meta:model = Studentfields = "__all__"
8、编写视图类
在app01应用的views.py中创建视图StudentViewSet,这是一个视图集合。
from django.shortcuts import renderfrom rest_framework.viewsets import ModelViewSetfrom .models import Studentfrom .serializers import StudentModelSerializer# Create your views here.class StudentViewSet(ModelViewSet):queryset = Student.objects.all()serializer_class = StudentModelSerializer
#queryset 指明该视图集在查询数据时使用的查询集
#serializer_class 指明该视图在进行序列化或反序列化时使用的序列化器9、定义路由
新建urls.py 添加路由信息
from . import viewsfrom rest_framework.routers import DefaultRouter#路由列表urlpatterns = []router = DefaultRouter() #可以处理视图的路由router.register('student',views.StudentViewSet) #像路由器中注册视图集urlpatterns += router.urls #将路由器中的所有路由追加到django的路由列表中把students子应用中的路由文件加载到总路由中from django.contrib import adminfrom django.conf.urls import urlfrom django.urls import pathfrom django.urls import includefrom . import viewsurlpatterns = [#path('admin/', admin.site.urls),#url(r'^$',views.hello),path('',views.hello), #http://127.0.0.1:8000/hello/path('print',views.print), #http://127.0.0.1:8000/printpath('templates',views.templates),path("stu/",include("app01.urls")),]
点击链接127.0.0.1:8000/stu/students获取所有数据
相关文章:
DRF 学习
一、安装DRF 1、pip install djangorestframework -i https://pypi.douban.com/simple 2、pip install pymysql -i https://pypi.douban.com/simple 二、创建Django项目 1、django-admin startproject drfdemo 三、添加rest_framework应用 1、INSTALLED_APPS …...
2023年双11有哪些便宜的云服务器值得推荐?
每年的双11期间各大云计算服务商都会推出特价云服务器,今年自然也不例外,下面给大家分享2023年双11有哪些便宜的云服务器值得推荐。 1、阿里云【传送门>>>】 阿里云双11推出了金秋云创季活动,2核2G3M不限流量,1年99元&…...
[Java/力扣160]相交链表
这道题的关键是,使两个链表上的指针同时到达相交点处 方法一:分别遍历两个链表,得到其长度。然后先让较长的链表上的指针走“两链表长度之差”。然后两指针分别一步一步走,就能同时到达相交点处。 方法二:让 p1 遍历…...
LLVM学习笔记(60)
4.4.3. X86Subtarget 在X86TargetMachine构造函数的105行调用了X86Subtarget构造函数来创建具体的目标机器对象。 4.4.3.1. FMV的支持(v7.0) V7.0将具体目标机器对象的生成推迟到第一次调用getSubtarget ()时才创建。不过,为了方便起见&am…...
Linux命令查看pcap包报文数量、包体包含内容、包长
查看pcap包内容 要查看pcap文件中的包数量,可以使用网络分析工具,如Wireshark或Tcpdump,或者使用编程语言中的网络分析库,如Python中的Scapy或Sniffy。 使用Wireshark的方法如下: 打开Wireshark软件。选择要查看的p…...
C++二分算法: 找出第 K 小的数对距离
题目 数对 (a,b) 由整数 a 和 b 组成,其数对距离定义为 a 和 b 的绝对差值。 给你一个整数数组 nums 和一个整数 k ,数对由 nums[i] 和 nums[j] 组成且满足 0 < i < j < nums.length 。返回 所有数对距离中 第 k 小的数对距离。 示例 1&#x…...
【计算机网络笔记】网络层服务模型——虚电路网络
系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…...
软文推广过程中,如何精准定位受众
互联网发展带来信息的爆炸式增长,消费者的注意力成为稀缺资源,传统硬广很难获取用户注意,而软文凭借故事化、针对性的特点更能吸引用户注意,在软文推广中,我们只有精准定位受众才能更好地传播,今天媒介盒子…...
说说对React中类组件和函数组件的理解?有什么区别?
一、类组件 类组件,顾名思义,也就是通过使用ES6类的编写形式去编写组件,该类必须继承React.Component 如果想要访问父组件传递过来的参数,可通过this.props的方式去访问 在组件中必须实现render方法,在return中返回…...
Unity 实例化物体以及赋予到父物体之下
Unity 实例化物体并赋予父物体操作如下: public class ExampleScript : MonoBehaviour { public GameObject prefab; // 引用预制体 public Transform parentTran; // 引用父物体的 Transform void Update() { if (Input.GetKeyDown(KeyCode.Space)) { //…...
Docker 介绍
Docker 介绍 1 介绍1.1 概述1.2 资源高效利用1.3 发展历程1.4 组件1.5 工具1.6 对环境部署和虚拟化的影响1.7 优点1.8 容器技术核心CgroupNamespaceUnionFS 2 命令信息、状态、配置info命令用于显示当前系统信息、docker容器、镜像个数、设置等信息 镜像容器资源 3 安装3.1 版本…...
VScode连接Xshell 并解决【过程试图写入的管道不存在】报错
一.下载vscode 国内镜像: https://vscode.cdn.azure.cn/stable/6c3e3dba23e8fadc360aed75ce363ba185c49794/VSCodeUserSetup-x64-1.81.1.exe二.打开vscode在扩展搜索SSH并安装 三.添加主机 按F1选择添加新的ssh主机 按格式输入后在左边会出现电视的图标 之后输入…...
Redis之事务
文章目录 前言一、概述二、Redis事务使用1.正常执行事务2.取消事务3.编译型异常4.运行时异常(1/0)5.清空数据库6.监控1.乐观锁正常执行成功2.多线程 总结 前言 Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化&a…...
【数据结构】树与二叉树(五):二叉树的顺序存储(初始化,插入结点,获取父节点、左右子节点等)
文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示 5.2 二叉树5.2.1 二叉树1. 定义2. 特点3. 性质引理5.1:二叉树中层数为i的结点至多有 2 i 2^i 2i个,其中 i ≥ 0 i \geq 0 i≥0。引理5.2:高度为k的二叉…...
【HarmonyOS】HarmonyOS备案获取公钥和指纹
【关键字】 HarmonyOS应用、鸿蒙应用、元服务、应用备案 HarmonyOS应用在华为云等平台进行应用备案时,平台需要提供用公钥和签名指纹的信息,Android可以直接通过keystore或jks签名文件进行签名信息获取,HarmonyOS签名方式与Android不同&…...
,多数据源+Mybatisplus + Sharding JDBC同一库中分表
水平分表是在同一个数据库内,把同一个表的数据按一定规则拆到多个表中,多数据源采用 mybatis-plus的dynamic-datasource 分库分表采用sharding-jdbc 数据库连接池管理是alibaba的druid-spring-boot-starter 同一个数据库内分表 目录 1.数据库表 2.配置 3.引入的…...
Docsify 和 Hugo 之间的选型
对文档的编译,目前的发布方案是越来越注重 MD 的编辑和发布。 针对其他 Wiki 的选择,MD 文件的编辑通常会保留修改记录,同时不依赖中央数据库和其他类型的 Web 应用服务。 随着各大云平台的支持,包括 GitHub Page 和 Google 的 …...
第二十章 ObjectScript 应用程序中的数值计算 - 转换:十进制到 $DOUBLE
文章目录 第二十章 ObjectScript 应用程序中的数值计算 - 转换:十进制到 $DOUBLE 转换:十进制到 $DOUBLE转换:$DOUBLE 到十进制$DECIMAL(x)$DECIMAL(x, n) 转换:十进制到字符串 第二十章 ObjectScript 应用程序中的数值计算 - 转…...
C语言【趣编程】我们怎样便捷输出空心的金字塔
目录 1问题: 2解题思路: 3代码如下: 4代码运行结果如下图所示: 5总结: r如若后续有不会的问题,可以和我私聊; 1问题: 2解题思路: 方法:找规律࿰…...
《JavaScript设计模式》笔记 - - - 超全设计模式概览
该篇文章用于记录阅读《JavaScript设计模式》后归纳的读书笔记,主要以代码形式进行展示,用于快速回顾对应设计模式的代码构造 1.面向对象编程 1.使用对象收编变量 优点:避免全局变量冲突与覆盖 缺点:不利于复用 var CheckObj {c…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
