Source code for rpaper.core.utils
from functools import wraps
[docs]def validate_on_save(klass):
original_save = klass.save
def wrapper(self, *args, **kwargs):
klass.full_clean(self)
return original_save(self, *args, **kwargs)
setattr(klass, 'save', wraps(original_save)(wrapper))
return klass
# http://stackoverflow.com/questions/4581789/how-do-i-get-user-ip-address-in-django
[docs]def get_client_ip(request):
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[-1]
else:
ip = request.META.get('REMOTE_ADDR')
return ip