开发 Tips(2)
主要记录最近遇到的一些开发问题,解决方法。
1. Python 中的序列化与反序列化
序列化,将内存对象转化为可存储或传输序列的过程。反序列化,把序列化序列重新转化为内存对象的过程。Json 和 Pickle 是 Python 中常用的两个序列化处理模块。Json VS Pickle:- Json 实现的是内存对象与 Json 字符串的转换,Pickle 实现的是内存对象与字节对象的转换
- Json 格式广泛应用于除 Python 外的其他领域,Pickle 是 Python 独有的
- Json 只能序列化 Python 内置的基本数据类型对象,Pickle 可以序列化一切对象,包括函数
- cPickle 是 Pickle 的 C 语言实现,常用来替换 Pickle 以提升性能
- 配置
django.template.context_processors.csrf
上下文处理器,在模板里面渲染 csrf token,实际上还是调用了 get_token 函数 - expires: cookie 过期时间时间点,默认为None,浏览器关闭 cookie 立即失效
- path: Cookie 生效的路径,/ 表示根路径,根路径的cookie可以被任何url的页面访问
- domain: 默认值为 None,设置该 Cookie 的网页所在的域名None
- secure: 用来设置 Cookie 只在确保安全的请求中才会发送。当请求是 HTTPS 或者其他安全协议时,包含 secure 选项的 Cookie 才能被保存到浏览器或者发送至服务器。
- httponly: 只能 http 协议传输,无法被 JavaScript 获取(不是绝对,底层抓包可以获取到也可以被覆盖)默认值 False。
- celery==3.1.18
- django-celery==3.1.16
- 关闭和重启 worker 实例
- 控制 worker 池的大小
- 显示 task 详细信息
- 查看当前运行的 task
- 查看 tasks 的调度
- 唤醒和终止tasks
- …