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