阿小信大人的头像
Talk is cheap. Show me the code. Linus Torvalds

django自定义中间件2014-09-02 06:55

每个中间件就是一个类,有如下代码:

mymiddleware.py

#!/usr/bin/env python
#-*- coding:utf-8 -*-

__author__ = 'ashin'

import threading

class MyMiddleware(object):

    def __init__(self):
        self.call_count = 0
        self.__timer()

    def __timer(self):
        t_p = threading.Timer(10.0, self.__timer)
        print 'prev minute request view %d times'%self.call_count
        self.call_count = 0
        t_p.setDaemon(True)
        t_p.start()

    def process_view(self, request, view_func, view_args, view_kwargs):
        self.call_count += 1
        print self.call_count

        try:
            response = view_func(request, *view_args, **view_kwargs)
        except:
            return None

作用是打印出每分钟某个view被请求的此处,mymiddleware.py我放在app目录下,然后在settings中MIDDLEWARE_CLASSES添加:'processview.main.mymiddleware.MyMiddleware', ,这样请求iew每分钟就会打印统计次数

process_view只是中间件中的一个方法,还有其他方法可以查看文档了解

如果您觉得从我的分享中得到了帮助,并且希望我的博客持续发展下去,请点击支付宝捐赠,谢谢!

若非特别声明,文章均为阿小信的个人笔记,转载请注明出处。文章如有侵权内容,请联系我,我会及时删除。

#Python#   #django
分享到:
阅读[1453] 评论[0]

你可能也感兴趣的文章推荐

本文最近访客

发表评论