
web开发
疯琴
这个作者很懒,什么都没留下…
展开
-
《HTTP 权威指南》读书笔记:第四章-连接管理
文章目录1. TCP 连接2. TCP性能HTTP事务时延:1. TCP握手:2. 延迟确认3. TCP 慢启动3. HTTP 连接的处理串行事务处理时延4. 并行连接5. 持久连接http/1.0+keep alive限制http/1.1 持久连接限制6. 管道化连接队头阻塞7. 关闭连接1. TCP 连接四元组:源IP、源端口、目的IP、目的端口浏览器与web服务器交互流程:浏览器...原创 2020-04-11 19:44:03 · 206 阅读 · 0 评论 -
django rest framework 自定义分页
上回书说到自定义返回内容,通过继承viewsets.ModelViewSet实现,这里面有个问题,在list函数,也就是返回结果列表这个功能里,如果用到了分页,就需要额外的调整来实现自定义返回内容了。 def list(self, request, *args, **kwargs): queryset = self.filter_queryset(self.get_quer...原创 2019-05-13 09:37:54 · 1106 阅读 · 0 评论 -
django rest framework 登录认证授权 jwt
需求认证:登录状态保持30分钟,记录登录日志授权:根据不同的视图集和http方法授权不同的用户组访问初始方法起初写了一个基于token的认证授权方式,建一张token表,有创建时间和更新时间两个字段,和user是many to many关系,这样可以保存登录记录,登录的时候如果通过用户名密码的验证就查一下token表该用户的上一次更新时间,如果相差小于30分钟就不生成新的token...原创 2019-05-16 16:25:13 · 5510 阅读 · 5 评论 -
django vs flask 负载性能测试对比,谁更快(二)读数据库
上文书对比了二者简单GET json的性能网上有篇16年的对比文章说django ORM性能要比flask sqlalchemy差,我简单对比了一下读数据库的效率。环境说明flask 1.0.2,Flask-SQLAlchemy 2.4.0, SQLAlchemy 1.3.3,一个app文件,在wsl里gunicorn启动一个workerdjango 2.2.1,sqlparse 0.3...原创 2019-05-15 15:11:53 · 2562 阅读 · 0 评论 -
django vs flask 负载性能测试对比,谁更快(一)GET简单json
先上结果:完整的django初始框架,开发服务器:390 rps单文件django,开发服务器: 406 rps单文件flask,开发服务器:423 rps完整的django初始框架,gunicorn: 462rps单文件面django,gunicorn:482 rps单文件flask,gunicorn:479 rps完整的django初始框架+rest_frameword,gun...原创 2019-05-15 12:56:21 · 3645 阅读 · 0 评论 -
django rest framework 自定义ModelViewSet的返回内容
django rest framework的ModelViewSet非常爽,省了一大堆业务逻辑代码,跟自己手写restful的API 比至少减了100多行代码,而且serializer这种东西都是复制就行,少耗费好多脑细泡。create和update的时候的各种异常根本不用自己检查,直接就能报出来,加上django的国际化功能,直接甩中文,贼轻松,类似这样:{ "name": [ ...原创 2019-05-09 11:46:50 · 7582 阅读 · 0 评论 -
django rest framework 批量删除
使用ModelViewSet可以自动生成删除单个资源的方法,删除的url是/resource_name/pk/。如果想要批量删除可以写继承APIView的类,自定义delete方法,如果使用ModelViewSet的话可以在类里面写一个批量删除的函数:from rest_framework.decorators import actionclass UserViewSet(viewsets....原创 2019-05-06 14:38:50 · 3539 阅读 · 0 评论 -
django 单元测试 1067, Invalid default value for exist_info
django做单元测试时报错:python manage.py testdjango.db.utils.InternalError: (1067, “Invalid default value for ‘exist_info’”)百度找了一个错误处理:https://www.smwenku.com/a/5b7cde062b71770a43dcef8e我的数据库之前有张表有exist_...原创 2019-02-18 10:10:24 · 1711 阅读 · 0 评论 -
在django 2的views中使用原生celery 4和redis执行异步方法
软件版本Celery从3.1版本以后不需要用单独的库来支持django了,可以像单独使用celery的api那样在django中使用原生celery。软件版本如下python 3.6.6Django 2.1.4 celery 4.2.1redis 4.0.10使用方法我参考了celery的官方文档,因为使用了python3,所以删...原创 2018-12-18 10:08:16 · 1278 阅读 · 0 评论 -
Python web框架对比:Flask VS Django
flask今年发布了1.0版本,django却刚刚曝出面临发展困境。最近做了一些web开发,对二者有一点体会。以前两个框架都用过,开发起来挺相似的,都是mvc框架。flask轻便灵活,django完善丰富但是重,大家都这么说。flask适合小应用,很快就能跑起来。最近做了几个小应用,很顺手。刚刚开始做一个大一点的项目,需要一个用户管理功能,要保护url路由权限,当然是用框架里面开箱即用的功能。...原创 2018-12-07 16:34:32 · 1150 阅读 · 0 评论 -
在django admin中添加自定义视图
django admin提供了完善的用户管理和数据模型管理,方便实用。研究了一下在admin里面添加自己的页面。在admin.py里继承django.contrib.admin.ModelAdmin基类class FaceAdmin(admin.ModelAdmin):然后在里面写自己的视图处理函数。基类里面的save_model和delete_model函数可以做数据对象的新建和删除的预...原创 2018-12-07 17:30:56 · 5642 阅读 · 0 评论