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

  • 华为荣耀20i充电速度快吗(华为荣耀20i充电口是什么样的)

    华为荣耀20i充电速度快吗(华为荣耀20i充电口是什么样的)

  • wps页面布局在哪里(wps中的页面布局在哪里)

    wps页面布局在哪里(wps中的页面布局在哪里)

  • 华为m6平板8.4和10区别(华为m6平板8.4和10.8区别)

    华为m6平板8.4和10区别(华为m6平板8.4和10.8区别)

  • 微信朋友圈的图片怎么删除掉(微信朋友圈的图片怎么删除)

    微信朋友圈的图片怎么删除掉(微信朋友圈的图片怎么删除)

  • 抖音火山版里面的火苗是什么意思(抖音火山版里面的惊喜盲盒怎么看)

    抖音火山版里面的火苗是什么意思(抖音火山版里面的惊喜盲盒怎么看)

  • oppor7s怎么分屏(oppor7s如何分屏)

    oppor7s怎么分屏(oppor7s如何分屏)

  • 11pro可以用普通充电器吗(11pro可以用普通充电线吗)

    11pro可以用普通充电器吗(11pro可以用普通充电线吗)

  • 华为nova2有没有nfc功能(华为nova2支不支持nfc)

    华为nova2有没有nfc功能(华为nova2支不支持nfc)

  • qq太阳月亮星星各多少级(qq太阳月亮星星怎么获得)

    qq太阳月亮星星各多少级(qq太阳月亮星星怎么获得)

  • ppt如何设置16:9模式(PPT如何设置倒计时)

    ppt如何设置16:9模式(PPT如何设置倒计时)

  • iphonexr是无线耳机吗(苹果xr是无线耳机吗)

    iphonexr是无线耳机吗(苹果xr是无线耳机吗)

  • 为什么电脑桌面上什么东西都没了(为什么电脑桌面壁纸换不了)

    为什么电脑桌面上什么东西都没了(为什么电脑桌面壁纸换不了)

  • 拉黑对方打电话还有提示吗(拉黑对方打电话发信息对方还能收到吗)

    拉黑对方打电话还有提示吗(拉黑对方打电话发信息对方还能收到吗)

  • word把横排字弄成竖排(word如何让横排的字变竖排)

    word把横排字弄成竖排(word如何让横排的字变竖排)

  • 搜索候选什么意思(搜索候选功能是什么)

    搜索候选什么意思(搜索候选功能是什么)

  • 抖音短视频打不开怎么回事(抖音为啥打不了视频)

    抖音短视频打不开怎么回事(抖音为啥打不了视频)

  • 小爱同学怎么连续指令(小爱同学怎么连续对话?)

    小爱同学怎么连续指令(小爱同学怎么连续对话?)

  • 华为nova5pro新机有没有贴膜(华为nova5pro多少钱)

    华为nova5pro新机有没有贴膜(华为nova5pro多少钱)

  • qq怎么取消佩戴头衔(手机qq怎么取消佩戴头衔)

    qq怎么取消佩戴头衔(手机qq怎么取消佩戴头衔)

  • 余额宝体验金怎么分享好友(余额宝体验金怎么查看)

    余额宝体验金怎么分享好友(余额宝体验金怎么查看)

  • 手机微博怎么解绑手机号(手机微博怎么解除授权)

    手机微博怎么解绑手机号(手机微博怎么解除授权)

  • 知道姓名如何查手机号(知道姓名如何查车牌号)

    知道姓名如何查手机号(知道姓名如何查车牌号)

  • 苹果xr为什么没有录屏功能(苹果xr为什么没有无线局域网)

    苹果xr为什么没有录屏功能(苹果xr为什么没有无线局域网)

  • 什么是3D游戏开发(3d游戏开发大全)

    什么是3D游戏开发(3d游戏开发大全)

  • 钉钉如何退出企业(钉钉如何退出企业群)

    钉钉如何退出企业(钉钉如何退出企业群)

  • 退税怎么做账务处理,需要交什么税
  • 工商名称变更后多久网上可以查到记录
  • 股权转让交印花
  • 发票代码有误什么意思
  • 跨年度其他业务收没有结转入调整
  • 税务局代开的进项票需要认证吗
  • 纳税人销售自产门窗并负责安装
  • 买卖金融商品应交增值税计算
  • 原材料盈亏会计分录怎么写
  • 农产品增值税进项税额核定扣除试点实施办法
  • 政府性搬迁补偿收入的税务处理
  • 附加税的计税依据是实缴增值税
  • 离职员工的工资应该多久结清
  • 高新技术企业进项加计扣除
  • 5%征收率的适用范围
  • 供应商不给货款怎么办
  • 企业所得税可以选择不弥补亏损吗
  • 以前纳税申报表在哪里查询
  • 会计人必读的20本书
  • 个体户哪种税率最低
  • 无形资产有使用期限
  • 二手车销售统一专票哪里开
  • 软件进项税额分摊方式
  • 主营业务净利率和销售净利率一样吗
  • 封装windows10
  • ie增强的安全配置已启用上不了网
  • 三大期间费用属于什么类
  • 购买办公用品发放给各部门使用
  • 安装win11一直转圈要多久?
  • rmb转
  • php 注册
  • php ftp功能
  • 笔记本电池保养注意事项
  • 微信小程序开发一个多少钱
  • 兼职如何交税款
  • 营业外收支计算公式
  • 进出口公司如何做账
  • php数组按照某个字段排序
  • 免征增值税会计科目
  • 筹建期如果是一般纳税人 专票以后可以留着抵扣吗
  • 投资担保公司的钱都去哪了
  • php判断用户是否登录
  • 员工迟到扣款怎么处理
  • 公司有一个残疾人
  • 工会保障工作的主要任务有哪些
  • python计算集合交集并集个数
  • 织梦设置的关键词看不到
  • 工伤医疗费必须要交吗
  • 股东入股资金如何记账
  • 差旅费跨年报销违反什么规定
  • 销项税额专栏记录企业销售货物
  • 工商年报认缴时间过期了怎么办
  • 公交车经营权转让案例
  • 公司组织员工旅游需要交个税吗
  • 公司前期装修费属于开办费吗
  • 补发工资怎么补发
  • 研发费用按50%的预算
  • 贷款罚息会计分录
  • 考核员工的罚款计入什么
  • 固定资产折旧完了还算固定资产吗
  • 退货与销售折让的区别
  • 合并两公司的帐务处理
  • 案例分析以前年龄的变化
  • 收付实现制和权责发生制的主要区别是确认
  • 企业建账涉及哪些内容
  • mysql语句group by
  • winxp系统开机启动项
  • 电脑操作系统win7
  • 用centos搭建服务器的详细教程
  • win8自动启动项怎么设置
  • 你会支持国产系统吗英文
  • ftql
  • Host 'admin-PC' is not allowed to connect to this MySQL server
  • js的异步事件循环机制
  • 安卓设备分辨率查看
  • bootstrap需要学多久
  • 浅谈自己对教育的理解
  • 资本结构不合理的公司有哪些
  • 印花税核算有两种情况,是如何处理的?
  • 河南税筹公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设