自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

转载 写给后端程序员的HTTP缓存原理

通过网络获取内容既速度缓慢又开销巨大。较大的响应需要在客户端与服务器之间进行多次往返通信,这会延迟浏览器获得和处理内容的时间,还会增加访问者的流量费用。因此,缓存并重复利用之前获取的资源的能力成为性能优化的一个关键方面。好在每个浏览器都自带了 HTTP 缓存实现功能。您只需要确保每个服务器响应都提供正确的 HTTP 标头指令,以指示浏览器何时可以缓存响应以及可以缓存多久。注:如果您在应用中使用 W...

2018-07-05 23:36:35 416

原创 DRF中的视图(django rest framework)

1. 两个基类1)APIViewrest_framework.views.APIViewAPIView是REST framework提供的所有视图的基类,继承自Django的View父类。APIView与View的不同之处在于:传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象;视图方法可以返回REST framework的Res...

2018-07-05 16:43:10 1098

原创 Request 与 Response(django rest framework)

Request 与 Response1. RequestREST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。REST framework 提供了Parser解析器,在接收到请求后会自动根据Content-Type指明的请求数据类型(如JSON、表单...

2018-07-05 16:41:26 604

原创 模型类序列化器ModelSerializer(django rest framework)

模型类序列化器ModelSerializer如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。ModelSerializer与常规的Serializer相同,但提供了:基于模型类自动生成一系列字段基于模型类自动为Serializer生成validators,比如unique_togeth...

2018-07-05 16:39:52 1138

原创 反序列化使用(django rest framework)

1. 验证使用序列化器进行反序列化时,需要对数据进行验证后,才能获取验证成功的数据或保存成模型类对象。在获取反序列化的数据前,必须调用is_valid()方法进行验证,验证成功返回True,否则返回False。验证失败,可以通过序列化器对象的errors属性获取错误信息,返回字典,包含了字段和字段的错误。如果是非字段错误,可以通过修改REST framework配置中的NON_FIELD_ERRO...

2018-06-28 14:53:52 1869

原创 序列化使用(django rest framework)

我们在可以在django shell中来学习序列化器的使用。python manage.py shell1 基本使用1) 先查询出一个图书对象from booktest.models import BookInfobook = BookInfo.objects.get(id=2)2) 构造序列化器对象from booktest.serializers import BookInfoSeri...

2018-06-28 14:48:58 815

原创 定义Serializer(django rest framework)

1. 定义方法Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializer。例如,我们已有了一个数据库模型类BookInfoclass BookInfo(models.Model): btitle = models.CharField(max_length=20, verbose_name...

2018-06-27 17:39:24 645

原创 见识DRF的魅力(django rest framework)

1. 创建序列化器在booktest应用中新建serializers.py用于保存该应用的序列化器。创建一个BookInfoSerializer用于序列化与反序列化。class BookInfoSerializer(serializers.ModelSerializer): """图书数据序列化器""" class Meta: model = BookInfo ...

2018-06-27 17:37:07 3663 1

原创 Django中的模型(model)

Django中的模型(model)首先需要对需要的数据库进行配置,教程很多,这里就不说了定义模型类模型类被定义在应用下的models.py文件中模型类必须继承自Model类,位于django.db.models中1 定义from django.db import models#定义图书模型类BookInfoclass BookInfo(models.Model): btitle = ...

2018-06-24 12:58:00 1908

原创 Django中的类视图与中间件

Django中的类视图与中间件类视图1 类视图的引入以函数的方式定义的视图成为函数视图(FBV):便于理解但遇到一个视图对应的路径提供了多种不同HTTP请求方式的支持时,便需要在一个函数中编写不同的业务逻辑,代码可读性与复用性都不佳在Django中也可以使用类来定义一个视图,称为类视图(CBV):使用类视图可以将视图对应的不同请求方式以类中的不同方法来区别定义代码的可读性更好类视图相对于函数视图有...

2018-06-20 19:31:48 488

原创 Django中的响应与请求

Django中的响应与请求响应 RequestHttpResponseHttpResponse(content= 响应体, content_type=响应体数据类型, status= 状态码)content: 表示但会的内容status_code: 返回 HTTP 响应状态码content_type: 指定返回的数据的 mime 类型JsonResponse帮助我们将数据转换为 json 字符串设...

2018-06-13 22:29:11 591

原创 一行 python 代码

一行 Python 代码可以做什么?# 首先来个python之禅# python -c "import this""""The Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex ...

2018-06-10 00:19:07 1777

原创 HTTP协议向服务器传参

向服务器请求数据时,不同的传参方式也是决定是否顺利请求回数据的决定因素之一根据服务器的响应方式,客户端的提交形式有大致有以下几种:payload方式:payload是一种以JSON格式进行数据传输的一种方式,在我们请求的headers里设置content-type:application/json,则参数要以payload的形式传给服务器,服务器接受的是JSON对象formData方式:请求头he...

2018-06-08 21:21:56 930

原创 flask框架视图及路由部分

------------------------------------------------------------------------------------------------------查看我的GitHubFlask框架视图及路由相关配置参数一个简单的flask应用程序需要有下面的参数及运行配置Flask程序初始化参数Flask程序相关配置加载方式app.run()参数程序初始化...

2018-05-22 22:39:22 635

原创 python中生成器与列表推导式的说明差异

python中生成器和列表推导式的说明与优劣一.概念1. 列表推导式是一种python风格的明显体现,这种写法不仅高效而且简短.使用列表推导式获取"下标":>>>{key:value for key,value in enumerate(["one", "two","three"])}{0: 'one', 1: 'two', 2: 'three'}反之想让列表获取"下标&a

2018-05-05 21:29:28 1085

原创 python正则概述

一、python正则概览正则基本使用import rere.match(r"正则", 数据) 从头开始匹配 返回值 成功匹配返回结果对象 从结果对象中获取匹配 .group() 匹配失败 返回Nonere.search(r"正则", 数据) 从数据中进行搜索 并且尝试匹配 返回值 成功匹配返回结果对象 从结果对象中获取匹配 .gro...

2018-04-26 19:35:24 206

原创 浅谈python装饰器

浅谈python的装饰器 最近在一直在搞python中的装饰器,今天就这个来做些装饰器的总结.装饰器的本质首先在Python中的函数是可以看做一个特殊变量的.而装饰器是建立在闭包的前提上的.闭包就是将函数当做参数传入另一个函数,两个函数的嵌套,外部函数返回北部函数的引用.装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对...

2018-04-22 00:33:25 2773

原创 python中单线程设置非阻塞循环模拟多线程

import socketimport redef main():    tcp_server = WebServer()    tcp_server.run_server()class WebServer(object):    def run_server(self):        """运行服务"""        # 客户端列表        clients = list()      ...

2018-04-18 19:02:59 1337

原创 python中GIL锁的延伸扩展

GIL全局解释器锁作用 : 保证同一时刻只有一个线程能使用到cup解释 : 当我们使用多线程的时候,在一个进程中只有一个GIL锁,那么这多个线程中谁拿到GIL谁就可以使用cpu(ps:多个进程有多个Gil锁)问题1: 什么时候会释放Gil锁,答 :  1 遇到像 i/o操作这种 会有时间空闲情况 造成cpu闲置的情况会释放Gil   2 会有一个专门ticks进行计数 一旦ticks数值达到100...

2018-04-17 23:10:00 179

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除