from django.middleware.csrf import rotate_token class SessionOnHitMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): if not request.user.is_authenticated and not request.session.session_key: request.session.save() response = self.get_response(request) return response class CsrfOnHitMiddleWare: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): if 'CSRF_COOKIE' not in request.META: rotate_token(request) response = self.get_response(request) return response