Kullanıcı IP adresini, giriş, çıkış ve başarısız oturum açma olayları için özellikle Django uygulamasında oturum açmak istiyorum.Django günlük kullanıcı user_login_failed sinyali için IP
from django.contrib.auth.signals import user_logged_in, user_logged_out, user_login_failed
from ipware.ip import get_ip
import logging
logger = logging.getLogger(__name__)
def log_logged_in(sender, user, request, **kwargs):
logger.info("%s User %s successfully logged in" % (get_ip(request), user))
def log_logged_out(sender, user, request, **kwargs):
logger.info("%s User %s successfully logged out" % (get_ip(request), user))
def log_login_failed(sender, credentials, **kwargs):
logger.warning("%s Authentication failure for user %s" % ("...IP...", credentials['username']))
user_logged_in.connect(log_logged_in)
user_logged_out.connect(log_logged_out)
user_login_failed.connect(log_login_failed)
konu bu fonksiyon parametrelerinde request
olmadığı için user_login_failed
sinyali için IP almak için bir yol bulmuş değil olmasıdır (https://docs.djangoproject.com/en/1.7/ref/contrib/auth/#module-django.contrib.auth.signals) şu şekildedir: Django yerleşik işlevleri kullanıyorum . credentials
parametresi, yalnızca username
ve password
alanlarını içeren bir sözlüktür.
Bu sinyalin IP adresini nasıl alabilirim?
Yardımlarınız için şimdiden çok teşekkürler.