位置: IT常识 - 正文

Python学习笔记(十一)-- Django API RESTful(python初学笔记)

编辑:rootadmin
1. Django rest framework 之序列化 https://www.cnblogs.com/midworld/p/11380194.html 2.写API的三个重点 (1)路由;(2)视图类(提供给用户访问相当于原来的视图函数);(3)序列化类(提供给视图类使用,把对象序列化成Jso ... 1. Djangorest framework 之序列化https://www.cnblogs.com/midworld/p/11380194.html2.写API的三个重点

推荐整理分享Python学习笔记(十一)-- Django API RESTful(python初学笔记),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python教程详细,python系列教程,python自学笔记,python自学笔记,python自学笔记,python自学笔记,python初学笔记,python初学笔记,内容如对您有帮助,希望把文章链接给更多的朋友!

(1)路由;(2)视图类(提供给用户访问相当于原来的视图函数);(3)序列化类(提供给视图类使用,把对象序列化成Json)

https://www.bilibili.com/video/BV1H4411W7iL?p=64&spm_id_from=pageDriver3.序列化类from rest_framework import serializers

注意:使用rest_framework,需先settings.py的INSTALLED_APPS中先添加rest_framework。

# Application definitionINSTALLED_APPS = ( ......... "rest_framework", ........)

4.一个Model类至少对应一个序列化类,继承于serializers.ModelSerializer。

序列化类的功能是把对应类型的对象转换成Json。

model 指明该序列化器处理的数据字段从模型类参考生成fields 指明该序列化器包含模型类中的哪些字段,fields = "__all__"指明包含所有字段5.视图类from rest_framework import viewsetsqueryset 指明该视图集在查询数据时使用的查询集serializer_class 指明该视图在进行序列化或反序列化时使用的序列化器6.路由Routers

对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系外,还可以使用路由Routers来帮助我们快速实现路由信息绑定、调用

REST framework提供了两个router类

SimpleRouterDefaultRouter

创建router对象

from rest_framework import routersrouter = routers.DefaultRouter()7.调试/文档 工具

7.1 安装

pip install coreapi

7.2 添加路由

from rest_framework.documentation import include_docs_urlsurlpatterns = [...path('docs/', include_docs_urls(title='站点页面标题'))]8.django-admin

成功安装Django后,虚拟机终端会有 django-admin命令。

执行django-admin startproject 项目名 即可创建出对应项目文件夹。

这个以项目命名的文件内包含一个 manage.py文件 和一个与项目名同名的文件夹。

9.获取当前程序的文件名和路径import os

获取当前程序的文件名

os.path.abspath(__file__)

文件夹的名字

os.path.dirname(os.path.abspath(__file__))

所在文件夹的父目录

os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

以上代码一般用户获取项目的绝对路径

10.URL

定义:统一资源定位符 Uniform Resource Locator。

作用:用来表示互联网上某个资源的地址。

URL的一般语法格式:

protocol://hostname[:port]/path[?query][#fragment]

注:[]代表其中的内容可省略。例如默认的端口80,就可以省略不写。

(1)protocol:

* http 通过HTTP访问该资源。格式为 http://

* https 通过安全的https访问该资源。格式为https://

* file 资源是本地计算机上的文件。格式为 file://

(2) hostname

是指存放资源的服务器的域名系统(DNS)主机名、域名或者IP地址。

Python学习笔记(十一)-- Django API  RESTful(python初学笔记)

(3)port

整数,可选,省略时使用默认端口。

各种协议的默认端口不同,如http的默认端口号为80.

(4)path 路由地址

有零或者多个“/” 符号隔开的字符串,一般用来表示主机上的一个目录或文件地址。

路由地址决定了服务器端会如何处理这个请求。

(5)query(查询)

可选,用于给静态网页传递参数,可有多个参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开。

(6)fragment(信息片段)

字符串,用于指定网络资源中的片段。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。使用#来表示。

11.URL 请求处理过程

step 1 :Django 从配置文件中,根据ROOT_URLCONF找到 主路由文件;默认情况下,该文件在项目同名目录下的urls文件中。

step 2:Django 加载主路由文件中的urlpatterns变量【包含很多路由的数组】。

step 3:依次匹配urlpatterns中的path,匹配到第一个合适的中断后续匹配。

step 4;匹配成功,调用对应的视图函数处理请求,返回相应;

匹配失败,返回404响应。

12.视图函数

视图函数是用于接收一个浏览器请求(HttpRequest对象)并通过HttpResponse对象返回响应的函数。此函数可以接受浏览器请求并根据业务逻辑返回相应的响应内容给浏览器。

语法为

def XXX_view(request[,其它参数...]) return HttpResponse对象13.路由配置--path()函数

导入

from django.urls inport path

语法

path(route,views,name=None)

参数

route:字符串类型,匹配的请求路径;

views:指定路径所对应的视图处理函数的名称;

name:为地址起别名,在模板中地址反向解析时使用。

14.路由配置--path转换器

语法:<转换器类型:自定义名>

作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数。

例如:path('page/\<int:page>',views.xxx)

转化器类型作用样例str匹配除了’/‘之外的非空字符串“v1/users/<str:username>”匹配/v1/users/guoxiaohuaint匹配0或者任何正整数。返回一个int"page/<int:page>"匹配/page/100slug匹配任意由ASCII字母或数字以及连字符和下划线组成的短标签"detail/<slug:sl>"匹配/detail/this-is-djangopath匹配非空字段,包括路径分隔符’/‘"v1/users/<path:ph>"匹配/v1/users/a/b/c15.路由配置--re_path()

在url的匹配过程中可以使用正则表达式进行精确匹配。

语法:re_path(reg,view,name=xxxx)

正则表达式为命名分组模式(?p<name>pattern);匹配提取参数后用关键字传参方式传递给视图函数。

https://blog.csdn.net/qq_41475058/article/details/112214991

https://www.bilibili.com/video/BV1Q14y1t71j?p=2&spm_id_from=pageDriver

本文链接地址:https://www.jiuchutong.com/zhishi/304700.html 转载请保留说明!

上一篇:phpcms如何上传视频(phpcms上传视频)

下一篇:Python创建生成器的两种方法(python生成器定义)

  • 那些动人的长长长文案,都是怎么锻造的

    那些动人的长长长文案,都是怎么锻造的

  • 笔记本能加内存(笔记本能加内存条吗)(笔记本能加内存条还是固态硬盘)

    笔记本能加内存(笔记本能加内存条吗)(笔记本能加内存条还是固态硬盘)

  • iphone13怎么关机(iphone13怎么关机和重启手机)

    iphone13怎么关机(iphone13怎么关机和重启手机)

  • oppo录屏只录内音(oppo录屏只录内声不录声音)

    oppo录屏只录内音(oppo录屏只录内声不录声音)

  • 苹果健康和微信运动不一致(苹果健康和微信运动怎么同步)

    苹果健康和微信运动不一致(苹果健康和微信运动怎么同步)

  • 荣耀8x多重(荣耀8x多重多少克)

    荣耀8x多重(荣耀8x多重多少克)

  • 照片jpg格式是什么意思(照片格式jpg是什么格式)

    照片jpg格式是什么意思(照片格式jpg是什么格式)

  • 华为p20长度是多少cm(华为p20手机的长度多少厘米)

    华为p20长度是多少cm(华为p20手机的长度多少厘米)

  • 小米平板密码解不开怎么办(小米平板密码解锁方法)

    小米平板密码解不开怎么办(小米平板密码解锁方法)

  • 管理信息系统有哪些(管理信息系统有关论文)

    管理信息系统有哪些(管理信息系统有关论文)

  • 三星s20有256g吗(三星s20只有128吗)

    三星s20有256g吗(三星s20只有128吗)

  • premiere是什么软件(premiere是什么软件融什么和什么处理与一体)

    premiere是什么软件(premiere是什么软件融什么和什么处理与一体)

  • 微信给对方转账后删除好友对方还能收到吗(微信给对方转账不显示名字是被删了吗?)

    微信给对方转账后删除好友对方还能收到吗(微信给对方转账不显示名字是被删了吗?)

  • gw是什么意思(gwp是什么意思)

    gw是什么意思(gwp是什么意思)

  • 怎样关闭微信的刷脸功能(怎样关闭微信的自动扣费功能)

    怎样关闭微信的刷脸功能(怎样关闭微信的自动扣费功能)

  • 路由器老化症状(路由器老化的表现)

    路由器老化症状(路由器老化的表现)

  • 华为手表防水不(华为手表防水不防尘)

    华为手表防水不(华为手表防水不防尘)

  • 华为v20怎么设置后台运行(华为V20怎么设置9点应用锁)

    华为v20怎么设置后台运行(华为V20怎么设置9点应用锁)

  • 京东退货自提点在哪里(京东退货自提点本区域没有怎么办)

    京东退货自提点在哪里(京东退货自提点本区域没有怎么办)

  • 苹果a2223是什么意思(苹果a2223是什么尺寸)

    苹果a2223是什么意思(苹果a2223是什么尺寸)

  • 咸鱼会员名怎么改更改(咸鱼会员名怎么和淘宝一样)

    咸鱼会员名怎么改更改(咸鱼会员名怎么和淘宝一样)

  • 苹果不连wifi怎么下载(苹果不连wifi怎么下载超过200m的软件)

    苹果不连wifi怎么下载(苹果不连wifi怎么下载超过200m的软件)

  • 快手个人主页在哪里看(快手个人主页在哪里打开)

    快手个人主页在哪里看(快手个人主页在哪里打开)

  • 苹果笔记本开机键在哪(苹果笔记本开机显示问号)

    苹果笔记本开机键在哪(苹果笔记本开机显示问号)

  • oppo小欧在哪打开(oppok1小欧在哪打开)

    oppo小欧在哪打开(oppok1小欧在哪打开)

  • win11禁用网络怎样恢复? win11网络禁用后启用的技巧(win10禁止使用网络)

    win11禁用网络怎样恢复? win11网络禁用后启用的技巧(win10禁止使用网络)

  • 未按期纳税申报怎么处理
  • 固定资产一次性折旧的账务处理和税务处理
  • 网上申领发票收到后需要怎么操作
  • 事业单位私车公用条例
  • 一般纳税人要做价税分离吗
  • 零申报企业所得税季度申报表怎么填写
  • 员工补充医疗保险报销范围
  • 公益性捐赠税前扣除资格认定
  • 企业接受捐赠的账务处理
  • 公司举办的活动
  • 没有进货发票怎么处罚
  • 企业收取客户利润违法吗
  • 企业收到一笔钱不知道什么钱 如何做账
  • 增值税进项大于销项,要全部认证吗
  • 主营业务税金及附加包括什么
  • 增值税专用发票验票
  • 境内个人去境外开设公司
  • 小规模核定征收怎么交税
  • 所得税汇算清缴退税会计分录怎么做
  • macbook怎么和ipad
  • 床垫专票可以抵扣吗
  • 工资上月计提多了,这个月怎么冲
  • 以前年度的收入和成本错了要怎么调
  • php核心编程
  • 收到完税凭证怎么做账
  • 如何自定义win10开机音乐
  • win10怎么显示隐藏的硬盘
  • PHP:imagecopymergegray()的用法_GD库图像处理函数
  • 报销差旅费会计凭证
  • 社保缴费工资和实发工资不一样
  • 93.transformer、多头注意力以及代码实现
  • vue清空input file的值
  • 决算清理期和库款报解整理期
  • 不是销售类的工作可以做什么
  • 无法报销的原因
  • 增值税进项发票不够抵扣怎么办
  • 电子回单可以入档案吗
  • SQL Server 2005/2008 导入导出数据常见报错解决方法
  • db2入门
  • 付的房屋租金计入什么会计科目
  • 股东垫付的钱可以作为实收资本吗
  • 印花税征收范围口诀
  • 累计摊销的会计分录有哪些
  • 买车险怎么打折
  • 支付收购股权款如何做账
  • 施工企业简易计税的依据
  • 买卖股票手续费怎么算
  • 弃置费用摊销为什么在贷方增加
  • 农业行业增值税
  • 施工赔偿款怎么记账
  • 现金支票办理电话
  • 批发商品销售的方式有委托代销吗
  • mysql 5.7.30安装
  • 数据库中alter table的用法
  • windows命令操作
  • win10 9月更新 问题
  • 详述目标成本法的内容和步骤
  • fedora怎么联网
  • vmware 启动虚拟机
  • 提高系统能力
  • xp如何一键还原系统还原
  • smsmon32.exe - smsmon32是什么进程
  • linux 垃圾
  • 系统导航栏已禁用怎么办
  • win8怎么创建宽带连接
  • bootstrap table sum总数量统计实现方法
  • perl读取文件内容到数组
  • perl 获取参数
  • node 加密解密
  • unity字符串
  • js设置密码长度
  • java scripts
  • jquery控制css样式
  • JavaScript事件 "事件对象"的注意要点
  • jquery实例
  • js中input怎么用
  • 注会证可以挂靠吗?挂靠合法吗?
  • 广西的高速怎么一段收费一段不收费
  • 黄金手镯可以卖出去吗
  • 成都交房需要交什么费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设