位置: 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生成器定义)

  • 怎么注册滴滴快车司机(如何注册滴滴)

    怎么注册滴滴快车司机(如何注册滴滴)

  • 荣耀x20怎么省电(荣耀x20省电模式在哪)

    荣耀x20怎么省电(荣耀x20省电模式在哪)

  • ios15小圆点在哪设置(ios小圆点在哪设置里面的大小)

    ios15小圆点在哪设置(ios小圆点在哪设置里面的大小)

  • 苹果手机进水没声音了怎么办(苹果手机进水没有声音)

    苹果手机进水没声音了怎么办(苹果手机进水没有声音)

  • 蘑菇街个人入驻条件(蘑菇街代入驻)

    蘑菇街个人入驻条件(蘑菇街代入驻)

  • 华为海外版国内能用吗(华为海外版国内售后)

    华为海外版国内能用吗(华为海外版国内售后)

  • 华为nova7时间设置在哪里(华为nova7时间设置成数字显示)

    华为nova7时间设置在哪里(华为nova7时间设置成数字显示)

  • 快手能投屏吗(快手投屏功能在哪里)

    快手能投屏吗(快手投屏功能在哪里)

  • iphonex还原所有设置什么意思(苹果x还原所有设置会清空照片么)

    iphonex还原所有设置什么意思(苹果x还原所有设置会清空照片么)

  • 支付宝获取手机定位服务的权限在哪里(支付宝获取手机定位服务的权限在哪里设置)

    支付宝获取手机定位服务的权限在哪里(支付宝获取手机定位服务的权限在哪里设置)

  • 机顶盒ipoe网络连接失败(机顶盒ipoe网络配置不成功)

    机顶盒ipoe网络连接失败(机顶盒ipoe网络配置不成功)

  • 苹果密码输入多次被锁怎么办(苹果密码输入多次停用时间)

    苹果密码输入多次被锁怎么办(苹果密码输入多次停用时间)

  • 怎么去除图片上的涂鸦(怎么去除图片上的遮盖图)

    怎么去除图片上的涂鸦(怎么去除图片上的遮盖图)

  • 快手上买了东西怎么看订单(快手怎么买货)

    快手上买了东西怎么看订单(快手怎么买货)

  • iphone怎么看拦截记录(iphone怎么看拦截电话拦了几次)

    iphone怎么看拦截记录(iphone怎么看拦截电话拦了几次)

  • 怎么下载网页中的视频(怎么下载网页中的文件)

    怎么下载网页中的视频(怎么下载网页中的文件)

  • 快手主页链接怎么复制(快手主页链接怎么获取)

    快手主页链接怎么复制(快手主页链接怎么获取)

  • 电池bm46是什么型号(电池bm46是什么型号的手机)

    电池bm46是什么型号(电池bm46是什么型号的手机)

  • 爱奇艺预约片怎么观看(爱奇艺已预约预告片什么时候可以看)

    爱奇艺预约片怎么观看(爱奇艺已预约预告片什么时候可以看)

  • xr是不是双卡双待(xr是不是双卡手机)

    xr是不是双卡双待(xr是不是双卡手机)

  • 美图秀秀怎么截图(美图秀秀怎么截取视频的一部分)

    美图秀秀怎么截图(美图秀秀怎么截取视频的一部分)

  • 荣耀10和荣耀20的区别(荣耀10和荣耀20i哪个好一些)

    荣耀10和荣耀20的区别(荣耀10和荣耀20i哪个好一些)

  • 选择排序代码(选择排序代码c)

    选择排序代码(选择排序代码c)

  • Css之使用calc()计算宽高(vw/vh)(css calculate)

    Css之使用calc()计算宽高(vw/vh)(css calculate)

  • 退回的税款如何做账
  • 辞退员工补偿的月平均工资如何计算
  • 赠送给客户的产品发货单要填写单价?
  • 退还增值税留抵税额是什么政策
  • 低值易耗品定义出处
  • 签了合同后又要收额外费用
  • 应收账款已收回但是账面还有余额怎么处理
  • 未认证发票进项税分录
  • 软件企业会计分录
  • 免税农产品收入是否计入30万销售额
  • 逃避缴纳税款征管法第几条
  • 占用土地行为不征收耕地占用税有哪些?
  • 企业购买商品房限购吗
  • 原材料采购的会计核算风险
  • 帐外资产 如何记账
  • 计提固定资产减值准备会计科目
  • 腾讯电脑管家怎么修复dll
  • 苹果6手机蓝牙
  • 交了车船税有什么凭证
  • 开具信息咨询费的发票
  • 安全生产费用怎么支出
  • 电脑cpu风扇不动怎么办
  • 法人不缴纳社保员工可以缴纳吗怎么办
  • 按实际成本结转6日和7日的材料采购成本
  • 别人从我公司走账怎么做账务处理
  • 取得企业债券利息为什么要交个人所得税
  • 山茶花的养殖方法和注意事项视频
  • 个体户何去何从
  • 事业单位接受捐赠固定资产入账
  • 【已解决】VUE3+webpack >5报错问题
  • WINDOWS10系统怎样给电脑分区
  • github ci/cd
  • 图像可以分成哪些类别?
  • configure命令
  • 生育保险具体待遇是什么
  • 人工费和劳务费怎么算
  • 工资计提未发放,调增还是调减
  • 应征增值税不含税销售额是什么
  • 报销人和收款人是一个人
  • 农民专业合作组织法律制度的类型包括哪些?
  • 运输公司挂靠车辆的会计处理?
  • 资金账簿印花税按年还是按次
  • 产品淘汰造成的影响
  • 发票上一定要盖章吗
  • 一般纳税人税率2023
  • 用友t3建立新的帐套的流程
  • 计提个税和缴纳个税金额不符的原因
  • 收到销售方负数发票可以次月入账吗
  • 计提税金及附加会计分录怎么做
  • 非正常损失的进项税额转出会计分录
  • 利润所属科目
  • 建账的基本步骤
  • 成本费用和损失的区别
  • mysql 添加外键
  • win帮助系统在哪里
  • dos命令 新建文件
  • 怎样u盘安装系统软件
  • win10系统添加语言
  • 盗版xp黑屏的解决办法
  • win10升级 其他用户
  • win8隐藏任务栏怎么恢复
  • ubuntu apt-cdrom
  • win10开启暗黑模式
  • linux服务器被尝试登录失败
  • python生成二维码添加图片
  • u3d怎么导入贴图
  • cocos2dx-js
  • Unity3D游戏开发(第2版)
  • android 自定义dialog
  • javascript简明教程
  • javascript概述
  • jquery教程
  • js函数的声明方式
  • 进项名称和销项同一产品不同称呼
  • 深圳市地方税务局历任局长
  • 山西房产税征收标准
  • 免抵退税办法不得抵扣的进项
  • 如何理解新时代新征程党的使命任务
  • 宏观经济十大因素有哪些
  • 会计建账时一般需要哪几本账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设