middleware.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:dart 作者: lmco 项目源码 文件源码
def process_request(self, request):
        try:
            display_interval = settings.REQUIRED_INTERSTITIAL_DISPLAY_INTERVAL
        except AttributeError:
            # Setting not defined, so assume we don't want the interstitial to display
            return None
        try:
            if display_interval == 0 \
                    and request.session['last_acknowledged_interstitial']:
                return None
            else:
                max_age = timedelta(hours=display_interval).total_seconds()
                if timegm(now().timetuple()) - request.session['last_acknowledged_interstitial'] < max_age:
                    return None

        except KeyError:
            pass

        path = request.get_full_path()
        if re.match(str(reverse_lazy('login-interstitial')), path) or \
            re.match(str(reverse_lazy('login')), path) or \
            re.match(str(reverse_lazy('logout')), path) or \
            re.match(settings.STATIC_URL + r'.+', path):
            return None

        return redirect('login-interstitial')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号