26 lines
731 B
Python
26 lines
731 B
Python
from .models import LoginRecord
|
|
|
|
|
|
def _get_client_ip(request):
|
|
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
|
|
if x_forwarded_for:
|
|
return x_forwarded_for.split(',')[0].strip()
|
|
return request.META.get('REMOTE_ADDR', '')
|
|
|
|
|
|
def create_login_record(request, user, record_status='success'):
|
|
try:
|
|
ip_address = _get_client_ip(request)
|
|
device = request.META.get('HTTP_USER_AGENT', '') or ''
|
|
if len(device) > 200:
|
|
device = device[:200]
|
|
LoginRecord.objects.create(
|
|
user=user,
|
|
ip_address=ip_address or None,
|
|
device=device,
|
|
location='',
|
|
status=record_status,
|
|
)
|
|
except Exception:
|
|
pass
|