class IpAddressMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): ip_address = None try: ip_address = request.META['REMOTE_ADDR'] except KeyError: ip_address = request.META['HTTP_X_REAL_IP'] request.ip_address = ip_address response = self.get_response(request) return response