restframework 中 Serializer 和 ViewSet 的 API
· ☕ 4 分钟
1. Serializer 1.1 数据校验 在反序列化数据时,需要对数据的合法性进行校验。这时,可以调用 is_valid() 进行验证,如果发生验证错误,可以在 .errors 属性获取错误提示信息。例如: 1 2 3 4 serializer.is_valid() # False serializer.errors # {'created': [u'This field is required.']} .is_valid() 方法带有一个可选的 raise_exception 标志,如果存在验证错误,将抛出 serializers.ValidationError 异常。 1 serializer.is_valid(raise_exception=True) 除了使用

restframework 中的 Viewset 和 Serializer
· ☕ 4 分钟
1. Django 中的 View Class 首先回忆一下,Django 对请求的处理逻辑。收到一次请求之后,Django 会生成一个 WSGIHandler 类型的 handler,由 handler 控制整个处理流程。 那么,请求的 URL 与 View 是如何关联的呢? Django 首先根据 ROOT_URLCONF 的配置加载 URLconf,按顺序逐个匹配 URLconf 的 URLp

Django 全栈优化指南
· ☕ 6 分钟
由于数据量剧增,系统响应很慢。对应用系统进行了一系列的优化工作,系统响应时间得到了数量级级别的优化效果。总体看,在压缩文件、加快网络访问方面的优化,对前端性能有显著提升效果。在存储过程、缓存、逻辑代码方面的优化,对后端性能提升有显著效果。本

企业如何打造 ToB 产品
· ☕ 5 分钟
本人所在的团队正在打造一款 ToB 产品,在垂直领域颇有影响力。此文是对团队关键事件的梳理,同时也包含了一些个人思考。 1. 在熟悉的场景中做到最好 互联网上,粗制滥造的内容太多,能获得广泛关注和影响力的产品屈指可数。 只有基于对用户痛点的深入了解,才能够提

CentOS 服务器运维实践
· ☕ 2 分钟
整理自「开发 Tips」系列,汇总 CentOS 服务器运维中的常见问题与解决方法。 1. 升级 Docker 版本 卸载旧版本的 Docker 1 2 3 4 5 6 $yum remove docker \ docker-common \ container-selinux \ docker-selinux \ docker-engine \ docker-engine-selinux 保存在 /var/lib/docker/ 的镜像、容器、数据、网络都会被保留。 安装依赖 1 yum install -y yum-utils device-mapper-persistent-data lvm2 安装 Docker 1 2 3 yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 1 yum makecache fast 1 yum install docker-ce 2. 新