python类ADMIN_URL的实例源码

middleware.py 文件源码 项目:esdc-ce 作者: erigones 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def process_request(self, request):
        request.impersonated = False
        if request.user.is_staff and 'impersonate_id' in request.session:
            user_id = request.session['impersonate_id']
            if user_id:
                try:
                    new_user = User.objects.get(id=user_id)
                except User.DoesNotExist:
                    del request.session['impersonate_id']
                else:
                    request.impersonated = True
                    if request.path.startswith('/' + settings.ADMIN_URL):
                        request.new_user = new_user
                    else:
                        request.real_user = request.user
                        request.user = new_user
            else:
                del request.session['impersonate_id']


问题


面经


文章

微信
公众号

扫码关注公众号