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

  • 小米手机抖音变黑白怎么调过来(小米手机抖音怎么变成白色的界面)

    小米手机抖音变黑白怎么调过来(小米手机抖音怎么变成白色的界面)

  • 苹果7怎么开热点(苹果怎么开热点给别人用流量)

    苹果7怎么开热点(苹果怎么开热点给别人用流量)

  • 微信专清里的文件能删除吗(微信专清里的文件怎么辩别发送与接收)

    微信专清里的文件能删除吗(微信专清里的文件怎么辩别发送与接收)

  • relx一代和四代区别(relx一代和4代哪个好)

    relx一代和四代区别(relx一代和4代哪个好)

  • wasaloo是什么手机(was-al00是什么型号的手机)

    wasaloo是什么手机(was-al00是什么型号的手机)

  • lga1151支持哪些cpu(lga1151支持哪些cpu 哪个cpu性价比)

    lga1151支持哪些cpu(lga1151支持哪些cpu 哪个cpu性价比)

  • s11-160/10表示什么意思(s11_160/10)

    s11-160/10表示什么意思(s11_160/10)

  • iphone12刘海还有吗(苹果12的刘海里面有什么)

    iphone12刘海还有吗(苹果12的刘海里面有什么)

  • 支付宝怎么取消刷脸支付(支付宝怎么取消刷脸支付功能)

    支付宝怎么取消刷脸支付(支付宝怎么取消刷脸支付功能)

  • oppopbem00是什么手机型号(oppoPBEM00是什么型号)

    oppopbem00是什么手机型号(oppoPBEM00是什么型号)

  • 如何完全屏蔽微信群聊(如何完全屏蔽微信群聊的信息推送)

    如何完全屏蔽微信群聊(如何完全屏蔽微信群聊的信息推送)

  • 网页设计是什么概念(网页设计是什么意思)

    网页设计是什么概念(网页设计是什么意思)

  • vsco取消订阅(怎么退vsco订阅费)

    vsco取消订阅(怎么退vsco订阅费)

  • 苹果nfc芯片在哪个位置(苹果nfc芯片在哪里)

    苹果nfc芯片在哪个位置(苹果nfc芯片在哪里)

  • 新苹果11如何使用(新苹果11怎样使用)

    新苹果11如何使用(新苹果11怎样使用)

  • 淘宝的皇冠代表什么(淘宝皇冠是什么等级)

    淘宝的皇冠代表什么(淘宝皇冠是什么等级)

  • 怎么看微信共同关注(怎么看微信共同关注公众号的好友)

    怎么看微信共同关注(怎么看微信共同关注公众号的好友)

  • 苹果card怎么申请(apple card如何申请)

    苹果card怎么申请(apple card如何申请)

  • 苹果短信回声效果收到怎么看不到(苹果短信回声效果对方看不到)

    苹果短信回声效果收到怎么看不到(苹果短信回声效果对方看不到)

  • 小米拦截电话在哪里设置(小米拦截电话在哪里取消设置)

    小米拦截电话在哪里设置(小米拦截电话在哪里取消设置)

  • 安卓手机发朋友圈怎么不缩文(安卓手机发朋友圈不发图片只发文字)

    安卓手机发朋友圈怎么不缩文(安卓手机发朋友圈不发图片只发文字)

  • iphone xr双卡怎么放(iphone xr双卡怎么变成单卡了)

    iphone xr双卡怎么放(iphone xr双卡怎么变成单卡了)

  • win10打印机设置(win10打印机设置纸张大小怎么设置)

    win10打印机设置(win10打印机设置纸张大小怎么设置)

  • Cookie 和 Session的区别(Cookie和Session的区别,各自的使用方法及常用操作)

    Cookie 和 Session的区别(Cookie和Session的区别,各自的使用方法及常用操作)

  • 〖大前端 - 基础入门三大核心之 html 篇⑩〗- 图片标签(大前端2021)

    〖大前端 - 基础入门三大核心之 html 篇⑩〗- 图片标签(大前端2021)

  • 帝国CMS修改图片集展示效果的方法(帝国cms界面)

    帝国CMS修改图片集展示效果的方法(帝国cms界面)

  • 其他应收款审计说明怎么写
  • 公章损坏更换的费用怎么记账
  • 开票不确认收入可以吗
  • 核定征收可以改查账征收吗
  • 购进蔬菜的进项税额
  • 无形资产发生减值的原因
  • 企业食堂买东西怎么入账
  • 低价股权转让是利空还是利好
  • 软件技术服务费算无形资产吗
  • 外贸企业出出口退税会计科目怎么做账?
  • 房产赠与流程是什么意思
  • 陈列费表格
  • 房产报废手续
  • 汇兑差额会计处理
  • 2020年开公司优惠政策
  • 生产成本的计算公式是什么
  • 基本户和一般户的区别和用途
  • 宿舍开店能开些啥
  • win7鼠标点右键没反应
  • 穿越火线封号查询官网
  • 本年利润有余额可以结账吗
  • 销售商品并收到货款的会计分录
  • 税务机关为小规模纳税人
  • 巨大的冰柱造句
  • kafka图形化界面
  • 企业的留存收益可以抵税吗
  • 企业雇佣临时工个税
  • 生产型企业出口退税计算案例
  • js文件格式化工具
  • php抓取
  • 时域卷积图解法
  • 一文讲清资产负债表中各个项目的来龙去脉
  • eltable数据多 卡
  • HTML 事件参考手册
  • ftp port命令
  • php页面跳转可以用header
  • 借款存入银行会计分录怎么写
  • 自贸区的税收优惠
  • 电子承兑接收了,但是后来怎么没有了
  • php 队列
  • 预付卡做账吗
  • 商品流通企业采用售价法核算条件下
  • PhoneGap was accuriqed by adobe
  • 几个项目可以合到一起招标吗
  • 企业投资股权收益如何征税
  • 公司缴纳个人所得税有什么用
  • 取得其他权益工具投资发生的交易费用
  • 以前年度损益调整账务处理分录
  • 餐饮服务属于什么职业
  • 电子发票服务平台怎么下载发票
  • 没有销货清单的发票可以报销吗
  • 合伙企业应该用什么会计制度
  • 商业银行的固定资产
  • mysql数据存在内存还是硬盘
  • windows8.
  • linux安装c环境
  • yum源如何配置
  • grub rescue修复引导找不到grub
  • ubuntu wine安装的软件怎么运行
  • ubuntu20.4 ssh
  • window10快捷键不能用
  • Mac怎么查看WiFi使用量
  • mac系统怎么把文件移到文件夹
  • linux或者命令
  • 修改windows版本
  • win8系统怎么搜索文件
  • windows更新后风扇不转
  • linux如何结束正在运行的进程
  • jquery easyui有哪些特点
  • linux归档文件什么意思
  • js中arguments
  • javascript中函数
  • 安卓调用系统相机
  • 使用应用程序的好处
  • javascript概述
  • 开税票锁机怎么办
  • 江苏省教师增量绩效多少
  • 医院黄票可以报销吗
  • 建筑行业增值税税率2021
  • 我国个人所得税起征点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设