使用django-email-as-username如何向用户返回消息?

时间:2013-02-19 13:18:17

标签: django

我正在尝试使用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!'

2 个答案:

答案 0 :(得分:1)

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

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

您还需要提供registration/login.html模板。当表单传递到上下文时,您将能够获取错误信息。您可以使用admin's login template作为示例。

答案 1 :(得分:0)

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

呈现/重定向您自己的登录页面