2

私の問題は次のとおりです。フォームを送信するとelse:、ビューで定義した下のブロックに分類されます。

私が達成しようとしているのは、ユーザーがPasswordResetFormdjango authのdjango 1.5組み込み機能を使用してパスワードをリセットできるようにすることです

Views.py

def UserResetPassword(request):
    form = UserForgotPasswordForm(None, request.POST)
    if request.method == 'POST':
        if form.is_valid():
            form.save(from_email='admin@thedomain.com',email_template_name='mysite/reuse/forgotpassword.html', use_https=False,token_generator=default_token_generator, html_email_template_name=None)
        else:
            return HttpResponse("Are you sure you entered that correctly?")

    return render(request, 'mysite/reuse/forgotpassword.html', {
        'form':form
    })

フォームを送信すると、次のように出力されます: Are you sure you entered that correctly? (たとえば、else:条件から送信される値

ここで何が間違っていますか?

4

1 に答える 1

3

いくつかの問題があります。

def UserResetPassword(request):
    form = UserForgotPasswordForm(request.POST or None) #data=is request.POST or None
    if request.method == 'POST':
        if form.is_valid():
            form.save(from_email = 'admin@thedomain.com', email_template_name= 'mysite/reuse/forgotpassword.html', use_https = False, token_generator = default_token_generator, html_email_template_name=None)

    return render(request, 'mysite/reuse/forgotpassword.html', {
        'form':form
    })

elseまた、その部分を取り除きます。エラーが何であるかを確認できるようにする必要があります。render()エラーが表示されます。

フォームでは、

fields = ("email")

する必要があります

fields = ("email", )

また、ユーザーが古いパスワードを入力してパスワードを変更できるフォームが必要な場合は、を使用する必要があります。PasswordChangeForm

于 2013-10-17T22:50:52.980 に答える