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.pyDjango にリンクしているという点でエラーが発生したと思います。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 に答える