李典的博客

导航

2018年4月12日 #

django之信号

摘要: Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 1、Django内置信号 Model signals pre_init # django的modal执行其构造方法前,自动触发 post_init # django的 阅读全文

posted @ 2018-04-12 14:49 python_李典 阅读(118) 评论(0) 推荐(0) 编辑

python之SQLAlchemy

摘要: SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库 阅读全文

posted @ 2018-04-12 13:39 python_李典 阅读(200) 评论(0) 推荐(0) 编辑

python操作RabbitMQ

摘要: RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链 阅读全文

posted @ 2018-04-12 13:35 python_李典 阅读(118) 评论(0) 推荐(0) 编辑

2018年4月11日 #

python操作redis

摘要: redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交 阅读全文

posted @ 2018-04-11 16:38 python_李典 阅读(420) 评论(0) 推荐(0) 编辑

Python操作Memcache

摘要: Memcache Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是 阅读全文

posted @ 2018-04-11 15:54 python_李典 阅读(132) 评论(0) 推荐(0) 编辑

django中间件

摘要: 请求到达views之前,会通过settings.py配置中的中间件,中间件通过后才会到达views函数 中间件中可以定义四个方法,分别是: process_request(self,request) process_view(self, request, callback, callback_arg 阅读全文

posted @ 2018-04-11 13:54 python_李典 阅读(116) 评论(0) 推荐(0) 编辑

2018年4月10日 #

django之CSRF

摘要: 在POST请求到达views之前,csrf帮我们进行一层验证 对于局部的CSRF来说,要用下面的方式: 一、简介 django为用户实现防止跨站请求伪造的功能,通过中间件 django.middleware.csrf.CsrfViewMiddleware 来完成。而对于django中设置防跨站请求伪 阅读全文

posted @ 2018-04-10 16:51 python_李典 阅读(192) 评论(0) 推荐(0) 编辑

2018年4月4日 #

django缓存

摘要: 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者Redis中之前缓存的内容拿到 阅读全文

posted @ 2018-04-04 16:14 python_李典 阅读(137) 评论(0) 推荐(0) 编辑

django之session

摘要: Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 数据库(默认) 缓存 文件 缓存+数据库 加密cookie 1、数据库Session 2、缓存Session 3、文件Session 4、缓存+数据库Session 5、加密cookie Session 扩展: 阅读全文

posted @ 2018-04-04 14:56 python_李典 阅读(218) 评论(0) 推荐(0) 编辑

2018年4月2日 #

python的切片

摘要: 切片 取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下: >>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] 取前3个元素,应该怎么做? 笨办法: >>> [L[0], L[1], L[2]] ['Michael', 阅读全文

posted @ 2018-04-02 14:44 python_李典 阅读(147) 评论(0) 推荐(0) 编辑