1

我正在尝试使用django-email-as-username,但如果用户提供的数据错误,我找不到返回登录页面并为用户发送消息的方法。

这是我的urls.py

url(r'^login$', 'django.contrib.auth.views.login', {'authentication_form': EmailAuthenticationForm}, name='login'),

这是我的views.py

def login_user(request):  
    if request.method == 'POST':
        email = request.POST.get('email')
        password = request.POST.get('password')
        if email and password:
            user = authenticate(email=email, password=password)
            if user:
                return HttpResponseRedirect('/')
            else:
                message = 'No such user'
        else:
            message = 'both email and password are required!'
    else:
        message = 'wrong method!'
4

2 回答 2

1

我认为您犯了一个错误,因为您login_user在模块中提供了自己的视图,但在 URL conf 中views.py链接到 Django 。django.contrib.auth.views.login

您可能应该只django.contrib.auth.views.login用作登录视图。

您还需要提供一个registration/login.html模板。当表单传递到上下文时,您将能够获取错误信息。您可以使用管理员的登录模板作为示例。

于 2013-02-19T14:11:34.753 回答
0

如果身份验证失败,您必须使用{{ message }}

于 2013-02-19T13:22:17.873 回答