Django项目可能用到的模块
跨域:
pip install django-cors-headers
处理图片的库:
pip install Pillow
异步Celery
pip install -U Celery
安装eventlet模块
$ pip install eventlet
QQ登录工具QQLoginTool:
pip install QQLoginTool
django-redis扩展包:
pip install django-redis
itsdangerous
模块
pip install itsdangerous
Haystack 是在Django中对接搜索引擎的框架,搭建了用户和搜索引擎之间的沟通桥梁
pip install django-haystack pip install elasticsearch==2.4.1
定时任务crontab
注意:windows下不能使用
pip install django-crontab
pickle模块介绍
pickle模块是Python的标准模块,提供了对Python数据的序列化操作,可以将数据转换为bytes类型,且序列化速度快。
pickle模块使用:
pickle.dumps()
将Python数据序列化为bytes类型数据。pickle.loads()
将bytes类型数据反序列化为python数据。
>>> import pickle >>> dict = {'1': {'count': 10, 'selected': True}, '2': {'count': 20, 'selected': False}} >>> ret = pickle.dumps(dict) >>> ret b'\x80\x03}q\x00(X\x01\x00\x00\x001q\x01}q\x02(X\x05\x00\x00\x00countq\x03K\nX\x08\x00\x00\x00selectedq\x04\x88uX\x01\x00\x00\x002q\x05}q\x06(h\x03K\x14h\x04\x89uu.' >>> pickle.loads(ret) {'1': {'count': 10, 'selected': True}, '2': {'count': 20, 'selected': False}}
base64模块介绍
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2^6=64,所以每6个比特位一个单元,对应某个可打印字符。3个字节有24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。在Base64中的可打印字符包括字母A-Z
、a-z
、数字0-9
,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。
Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。
- 提示:pickle模块序列化转换后的数据是bytes类型,浏览器cookie无法存储。
- base64模块是Python的标准模块,可以对bytes类型数据进行编码,并得到bytes类型的密文数据。
- base64模块使用:
base64.b64encode()
将bytes类型数据进行base64编码,返回编码后的bytes类型数据。base64.b64deocde()
将base64编码后的bytes类型数据进行解码,返回解码后的bytes类型数据。
>>> import base64 >>> ret b'\x80\x03}q\x00(X\x01\x00\x00\x001q\x01}q\x02(X\x05\x00\x00\x00countq\x03K\nX\x08\x00\x00\x00selectedq\x04\x88uX\x01\x00\x00\x002q\x05}q\x06(h\x03K\x14h\x04\x89uu.' >>> b = base64.b64encode(ret) >>> b b'gAN9cQAoWAEAAAAxcQF9cQIoWAUAAABjb3VudHEDSwpYCAAAAHNlbGVjdGVkcQSIdVgBAAAAMnEFfXEGKGgDSxRoBIl1dS4=' >>> base64.b64decode(b) b'\x80\x03}q\x00(X\x01\x00\x00\x001q\x01}q\x02(X\x05\x00\x00\x00countq\x03K\nX\x08\x00\x00\x00selectedq\x04\x88uX\x01\x00\x00\x002q\x05}q\x06(h\x03K\x14h\x04\x89uu.'
Python支付宝SDK:
pip install python-alipay-sdk --upgrade