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

  • 运营,当你面对业务与职业发展的双重困惑(当前运营工作中遇到的困难)

    运营,当你面对业务与职业发展的双重困惑(当前运营工作中遇到的困难)

  • 华为ai音箱2怎么连接蓝牙(华为AI音箱2怎么联网)

    华为ai音箱2怎么连接蓝牙(华为AI音箱2怎么联网)

  • vivo手机如何设置返回键(vivo手机如何设置动态壁纸)

    vivo手机如何设置返回键(vivo手机如何设置动态壁纸)

  • 荣耀v30pro的屏幕刷新率是多少(荣耀v30pro的屏幕是什么牌子的)

    荣耀v30pro的屏幕刷新率是多少(荣耀v30pro的屏幕是什么牌子的)

  • 抖音评论功能已封禁怎么办(抖音评论功能已封禁怎么恢复)

    抖音评论功能已封禁怎么办(抖音评论功能已封禁怎么恢复)

  • 手机怎样拍抖音短视频(手机怎样拍抖音?)

    手机怎样拍抖音短视频(手机怎样拍抖音?)

  • 没有绑定手机号的微信怎么找回(没有绑定手机号的微信可以正常使用吗)

    没有绑定手机号的微信怎么找回(没有绑定手机号的微信可以正常使用吗)

  • 街电可以异地还吗(街电可不可以跨省还)

    街电可以异地还吗(街电可不可以跨省还)

  • neo3屏幕发红(iqoo neo5屏幕泛红)

    neo3屏幕发红(iqoo neo5屏幕泛红)

  • 微信收款交易限制什么原因(微信收款交易限制人脸识别解除)

    微信收款交易限制什么原因(微信收款交易限制人脸识别解除)

  • 注销淘宝账号有什么影响(注销淘宝账号有什么坏处)

    注销淘宝账号有什么影响(注销淘宝账号有什么坏处)

  • 能检测到卡但无服务(能检测到卡但无sim卡)

    能检测到卡但无服务(能检测到卡但无sim卡)

  • usb小风扇能不能长时间使用(usb小风扇能不能插电脑)

    usb小风扇能不能长时间使用(usb小风扇能不能插电脑)

  • 苹果黑白名单关闭是什么(苹果黑白名单关闭是黑名单吗)

    苹果黑白名单关闭是什么(苹果黑白名单关闭是黑名单吗)

  • 台式电脑如何安装微信(台式电脑如何安装显卡)

    台式电脑如何安装微信(台式电脑如何安装显卡)

  • ie浏览器不兼容怎么办(网银ie浏览器不兼容)

    ie浏览器不兼容怎么办(网银ie浏览器不兼容)

  • 手机横幅显示是什么

    手机横幅显示是什么

  • ai四摄是什么意思(手机ai四摄是什么意思)

    ai四摄是什么意思(手机ai四摄是什么意思)

  • 苹果可以滚动截屏吗(苹果可以滚动截长图吗)

    苹果可以滚动截屏吗(苹果可以滚动截长图吗)

  • 快手戳了别人怎么取消(快手戳了别人怎么删除)

    快手戳了别人怎么取消(快手戳了别人怎么删除)

  • 华为nova5电池容量是多少(华为手机nova5i电池容量)

    华为nova5电池容量是多少(华为手机nova5i电池容量)

  • 为什么长图发朋友圈会模糊(很长的图发到朋友圈为什么糊了)

    为什么长图发朋友圈会模糊(很长的图发到朋友圈为什么糊了)

  • 控制网速软件有哪些?(控制上网速度的软件)

    控制网速软件有哪些?(控制上网速度的软件)

  • 职工薪酬支出及纳税调整
  • 收取违约金是否交税
  • 税后利润向股东分配股息
  • 个人所得税申报截止时间
  • 税务纳税等级m级是什么等级
  • 半成品可以计入成本吗
  • 房地产企业土地出让金抵减销项税额
  • 浅析建筑行业农民工的法律保护
  • 建筑公司预收了款项已经开了增值税发票怎么做账
  • 企业回购股票会使所有者权益
  • 在建工程应交税费会计分录
  • 小规模纳税人哪些发票可以抵税
  • 出口退税正式申报撤销申请
  • 劳务外包要通过应付职工薪酬吗
  • 厂部管理人员工资属于什么会计科目
  • 最新最全的消费软件
  • 一张抵扣发票能分多次抵扣不
  • 装修预付款怎么做账
  • 以前年度损益在借方
  • 子公司销售给母公司商品
  • 公司奖励金怎么做记账凭证?
  • 未达账项做完调节表后怎么处理?
  • 挂靠别人的施工单位资质,要交什么税?
  • 1697506445
  • 销售费用办公费用
  • 跨省增值税专用发票可以抵扣吗
  • 决算报表是财务报表吗
  • php处理xml
  • hipsdaemon.exe是什么
  • 矿业财务好做吗
  • 彩石湖公园门票
  • yolo xml转txt
  • 什么是非征期税未报
  • Python图像识别实战(四):搭建卷积神经网络进行图像二分类(附源码和实现效果)
  • 融资租赁固定资产不属于筹资活动
  • python 数据采集卡
  • cms是前端还是后端
  • 股东退股怎么入账
  • python wordcloud库
  • 汽油费入什么会计分录
  • 航天信息服务费280元会计处理
  • 财务报表编制要求包含
  • 破产的产业要退回资金吗?
  • 销售开票会计分录怎么做
  • 企业的存货清查包括
  • 怎么计提固定资产的累计折旧
  • 间接人工费用计入什么科目
  • 企业转给法人的会计分录
  • 小企业会计准则2023电子版
  • 货物发生退运了怎么办
  • 非税收入专用票据包括什么
  • 职工教育经费如何列支
  • 携税宝费用可以抵扣增值税吗
  • sql server的介绍
  • MySql 5.6.14 winx64配置方法(免安装版)
  • sql server常用管理工具中,用于访问
  • linux服务器查找文件命令
  • win10下面任务栏
  • wp_official_1.1.3.apk软件下载
  • windowsp.exe - windowsp是什么进程
  • windows 11安全模式
  • win8应用商店废了
  • xp调出输入法
  • 如何关闭win8快速启动
  • 2015年win10共发布135个安全补丁 创历年之最
  • Win10打开浏览器就未响应
  • 11月 Win8.1 Update 3更新哪些内容?开始菜单依然没有
  • 解读css发展历史简述
  • opengl矩形
  • 捉虫趣事作文200字
  • 网页制作范例
  • js面向对象编程思想
  • android4.4iso
  • js获取浏览器的cookie
  • jquery限制字符长度
  • 志愿者开展活动后存在的问题
  • 开企业资信证明怎么办?需要哪些材料?
  • 税务总局官网投诉
  • 纳税申报期限2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设