6bfaebf3e9f67b5202b8d6c1cdcd16f79992a0599d38b205714801b0a947bd6b957478d06db44fa76763a9945802a5127cae4d3bdd6ea953bb8b349cd7e914f21c3da135118399788434489a683991104212168ef0bc393bc15c54829125fae30dd26920aebab5c19f001cc0a7d4865075bf0fab6fe468f687105b5cfa9d626029941595199f8f225c7c6ea1df90da3bcd5b5c7dc2a2b9a53ff0412908f1bfb0381a8f79996ea7e9656eb79d740f455e0ebf8d792e0fec2b89524361e37be7ef1c80717624e39129e33ef826a916c375468395cf8a7c66573da8d4057f1febf32395b49a76c9d40c0e68e3da7800e8c4e9f44008fa2a8b0b9 ...
Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据) 控制数据库模型的操作 REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写。 两个视图基类 APIView 1rest_framework.views.APIView APIView是REST framework提供的所有视图的基类,继承自Django的View父类。 APIView与View的不同之处在于: 传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象; 视图方法可以返回REST framework的Response对象,视图会为响应数据设置(render)符合前端要求的格式; 任何APIException异常都会被捕获到,并且处理成合适的响应信息; 在进行dispatch()分发前,会对请求进行身份认证、权限检查、流量控制。 支持定义的属性 authentication_classes 列表或元祖,身份认证类 permissoin_classes 列表或元祖,权限 ...
序列化器-Serializer 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型 反序列化,完成数据校验功能 1.定义序列化器 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。 接下来,为了方便演示序列化器的使用,我们先创建一个新的子应用sers 1python manage.py startapp sers 在settings.py注册sers 1234INSTALLED_APPS = [ .... 'sers',] 我们创建几个图书相关模型 1234567from django.db import models# Create your models here.class Book(models.Model): title = models.CharField(max_length=32,verbose_n ...
Django的CBV FBV(function base views) 就是在视图里使用函数处理请求. CBV(class base views) 就是在视图里使用类处理请求. Python是一个面向对象的编程语言,如果只用函数来开发,有很多面向对象的优点就错失了(继承、封装、多态).所以 Django在后来加入了Class-Based—View.可以让我们用类写View. 这样做的优点主要下面两种: 提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承) 可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性 CBV简单示例 我们简单来看下如何使用CBV模式,然后再分析下源代码是如何执行的,源码之后在讲解 在urls.py中进行路由配置 123urlpatterns = [ url(r'^login/$',views.LoginView.as_view()), # FBV,CBV不管怎么样调用,返回的一定是个函数.] views视图中 1234567891011121314from django.shortcu ...
Web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离[客户端看到的内容和所有界面效果都是由服务端提供出来的。 前后端分离【把前端的界面效果(html,css,js分离到另一个服务端,python服务端只需要返回数据即可)】 前端形成一个独立的网站,服务端构成一个独立的网站 Web API接口 1.什么是Web API接口 通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介 Web API接口和一般的url链接还是有区别的,Web API接口简单概括有下面四大特点 url:长得像返回数据的url链接 http://www.xxx.com/api/students/ 请求方式: POST http://www.xxx.com/api/students/ 添加学生数据 GET http://www.xxx.com/api/students/ 获取所有学生 GET http://www.xxx.com/api/students// 获取id=pk的学生 DELETE http://www.xxx.c ...
6bfaebf3e9f67b5202b8d6c1cdcd16f7860ec6f9aa4e085b5c0d10a5217fa5b59a145a1092f7cf793cfb5d9aa60c57f4ec2c95dbdfc2fa2237e7e88c19b6e22ffb79d4c12443abd7376007d0bda73cfcee9e03fb94c7acb7d7949393f91a45ef7df51182673c67e72ba818873eb0fdddc2c4576f26c53fadd04bc527b9b5e4a704be2397ca62e0ffe3c74217607d968f27d0435953c4aa54c859b9e6cef6de69dbb3748167bcf23b3d3547c919d9cb6e8048f7fb9dfaed5e4972bd89f796e36800d7e09719cde985dade259cf85b96a7799e3e2f28c274f2a42117c178a93132ce8aa18e4a53dc0d349789e57a855a8d6d047669830617486 ...
6bfaebf3e9f67b5202b8d6c1cdcd16f7477f795a2d62e7f771ec48d07df1c6fef521c29027d93460a5db18a1adc3f87d838b16d02978860d3a0f56ca34366c80c219df278df7ec83e5c6d78d2d5fab899a52d14d8aee33e1581c6193d93d52862ad836c5b8af966d3d27a572a4b243a3dc4f9e694d71e42b642be5eacb54c42ee65211581c2c3a44189f3667685a573e06a2c1208e82456fc325dd0ff37a7fdef1e8660e788e3c6f715a0713b658cac8054302e8bfa2c32dcf47caf9bbbb8c4c4ec0c661348b3e9b997fb6f45ece494d21d4a20dda180489a2dabb3dbc945bc6f1c77bf17cdd22eee8b7a1fe0c1d461857ca824238736ba47 ...
信号 抛砖引玉 1.如何对数据库的增加操作记录日志 2.信号比中间件的区别 Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 Django内置信号 123456789101112131415161718192021Model signals pre_init # django的modal执行其构造方法前,自动触发 post_init # django的modal执行其构造方法后,自动触发 pre_save # django的modal对象保存前,自动触发 post_save # django的modal对象保存后,自动触发 pre_delete # django的modal对象删除前,自动触发 post_delete # django的modal对象删除 ...
6bfaebf3e9f67b5202b8d6c1cdcd16f7b5ba01cd0c86fe46b43ae97bedd417e284b8821e52c81c17f3fb5fc1fae0232d986d5b24d52264f4ff24e73dd3abc2f89683533215fbedec84820595950cf43cf754f42976ab144cf89260a7cc6b847fdf581729e7f5ad252e8ac2823bfc5fdb040a4403cca22201db7e4e8f5af6f746391ae3c4089889ae893add9aa32a360461575fcc9c1f1da282a24520eb9df44eca7a1ac3caf7e2cc34d7e7f8f0892364f7ca60ea40e4253f677ad379e58b45daaf07e306285f461854c4fa2bf3f95af9617a383530f8fb934e6cab5ba51abe1d46c18bd94d13a85fd387972040858a61c7dd732274f566904 ...
Django
未读6bfaebf3e9f67b5202b8d6c1cdcd16f7b5ba01cd0c86fe46b43ae97bedd417e2f7627fa46976a044683f2e9ddea102184881e933633a4a6397a0094d5ff67e20b3b17bcf726e05dd5ef7462229a7db89f8f3f962a88eac89a7a29b007ba93c27cda0978676b3d071ef463d0519da965ffc6fd709efcc234947cc41f16329d6b05efeb629b32544fecfbd7456b9783317e65d14097547d14c1ad91d2fc0b45a2734df354bcf9b59cb0a55068a5388d13b84e1cb84313416e56ebd8f87c96d47f471289082f481900cfa18a043135a74d237af0b13dc1857e9dc1794ca36058cd15c13ff78ffd1fbb94e36fc4006f83b002380b42ec917f3fe4 ...