内容回顾: . django请求生命周期 -> 执行遵循wsgi协议的模块(socket服务端) -> 中间件(路由匹配) -> 视图函数(业务处理:ORM.模板渲染) -> 中间件 -> wsgi返回 . 什么wsgi web服务网关接口 实现该协议的模块: - wsgiref - werkzurg - uwsig . 视图 - FBV url - 函数 - CBV url - view . djang rest framework . restful 规范() 什么是接口…
目录 1.web应用模式 2.API接口 3.Restful API规范 4.序列化 5.Django Rest Framework 1.drf的简单介绍 2.drf的特点 3.如何安装drf 4.drf的强大之处 5.序列化器的使用 1.web应用模式 在开发Web应用中,有两种应用模式: 1.前后端不分离 2.前后端分离 2.API接口 为了在团队内部形成共识.防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间…
一.什么是RESTful规范 ①REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移” ②REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态 ③REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”…
一.Django请求生命周期: 前端发出请求到后端,通过Django处理.响应返回给前端相关结果的过程 先进入实现了wsgi协议的web服务器--->进入django中间件--->路由f分发--->视图(CBV或FBV)---->取模板,取数据,用数据渲染模板--->返回模板的字符串---->前端页面得到数据展现页面给用户 二.WEB开发模式: 在开发Web应用中,有两种应用模式: 前后端不分离前后端分离1 前后端不分离在前后端不分离的应用模式中,前端页面看到的效果都是…
接口 #接口:url连接,通过向链接发送不同的类型请求与参数得到相应的响应数据 #1.在视图书写处理请求的 视图函数 #2.在路由层为视图函数配置 url链接=>产生接口 #3.前台通过ajax,爬虫,工具等对接口发送请求,提交相应的参数获得对应的响应数据 # https://api.map.baidu.com/place/v2/search ''' ak: 6E823f587c95f0148c19993539b99295 region: 上海 query: 肯德基 output: json '…
基于django的原生restful规范 主路由:url.py from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), # 路由分发 url(r'^api/', include('api.urls')) ] api组件的子路由:api/url.py from django.conf.urls import…
CBV 执行流程 路由配置:url(r'^test/',views.Test.as_view()),  --> 根据路由匹配,一旦成功,会执行后面函数(request) --> 本质就是执行了as_view内部的view函数 --> 内部又调用了self.dispatch --> 根据请方式,执行不同的方法(必然get请求,就会执行视图类的get方法) 自己分装一个类 重写dispatch方法,在执行父类的dispatch之前,写一些逻辑,请求来了,就会执行这些逻辑 from dj…
一. DRF简介 Django REST框架是一个功能强大且灵活的工具包,用于构建Web API. 使用REST框架的一些原因: 该网站可浏览API是你的开发人员一个巨大的可用性胜利. 身份验证策略包括OAuth1a和OAuth2的程序包. 支持ORM和非ORM数据源的序列化. 可自定义 - 如果您不需要更强大的功能,只需使用常规的基于功能的视图. 丰富的文档和良好的社区支持. 由国际知名公司使用和信任,包括Mozilla,Red Hat,Heroku和Eventbrite. 此处附上官方文档链…
一.restful规范 ''' 它是一个规范,面向资源架构 十条规范 1.API与用户的通讯协议,总是使用HTTPs协议,确保了网络传输的安全性 2.域名 --https://api.example.com :尽量将API部署在专用域名(会存在跨域问题) --https://example.org/api/ :这个写法简单,推荐使用 3.版本 --https://api.example.com/v1/ 把版本号放在请求头中 4.路径 在网络上任何东西都是资源,均使用名词表示(可复数) --127…
一.CBV源码分析 1.url层的使用CBV from app01 import views url(r'book/',views.Book.as_view) 2.as_view方法 as_view是一个类方法,实际上是一个闭包函数(内层函数包含对外层作用域的使用) 请求来了以后,调用as_view方法,调用函数中的view方法,view方法是调用了dispatch方法 @classonlymethod def as_view(cls, **initkwargs): def view(reque…