1

我编写了简单的 Django 项目,我想在登录尝试失败时存储客户端 IP 和日期。我准备模型:

class FailIp(models.Model):

    ip = models.CharField(
        max_length=16,
        verbose_name=_(u'fail login ip'),
    )
    date = models.DateTimeField(default=datetime.now)

但我不知道如何连接到登录错误。网址:

url(
    r'^login/$',
    'django.contrib.auth.views.login', {
        'template_name': 'login.html'
    },
    name='login'
),

怎么做?

4

1 回答 1

2

这是一个非常好的django.contrib.auth.signals.user_login_failed信号用例——在 Django 1.5 中引入,当用户登录失败时发送:

from django.contrib.auth import signals

def listener_login_failed(sender, credentials, **kwargs):
    # handle log in failure

signals.user_login_failed.connect(listener_login_failed)

另请参阅django.contrib.auth.signals.

于 2014-05-09T23:36:55.270 回答