私は、新しいパスワードフォームにリダイレクトするリンクをユーザーに電子メールで送信してパスワードリセットを実装しようとしています。Django Password Resest via Email
例:this questionとthis siteです。
しかし、私の問題は少し異なります。私はユーザーを含むローカルデータベースを持っていないので、自分の属性に対して操作を実行することはできません。私はAPI(ユーザーID、ユーザーメール、ユーザーパスワード)を介してユーザーデータを受け取ります。このリンクは、ユーザーがが誰であるかを教えてとに私を許可する彼/彼女のパスワードをリセットするように?への最善の方法は、ユーザーに電子メールを介して送信するための一意のリンクを生成しているので、
、また、どのように私はそれをurls.pyにリダイレクトすることができますか? このリンクを一度だけ使用していただけたらと思います。
私のviews.pyは、このようなものです:
def password_reset_form(request):
if request.method == 'GET':
form = PasswordResetForm()
else:
form = PasswordResetForm(request.POST)
if form.is_valid():
email = form.cleaned_data['email']
content_dict = {
'email': email,
'domain': temp_data.DOMAIN,
'site_name': temp_data.SITE_NAME,
'protocol': temp_data.PROTOCOL,
}
subject = content_dict.get('site_name')+ ' - Password Reset'
content = render_to_string('portal/password_reset_email.html', content_dict)
send_mail(subject, content, temp_data.FIBRE_CONTACT_EMAIL, [email])
return render(request, 'portal/password_reset_done.html', {'form': form,})
return render(request, 'portal/password_reset_form.html', {'form': form,})
そしてテンプレートは、私が送信していた電子メールは、次のとおりです。
{% autoescape off %}
You're receiving this e-mail because we got a request to reset the password for your user account at {{ site_name }}.
Please go to the following page and choose a new password:
{% block reset_link %}
{{ protocol }}://{{ domain }}/[***some unique link***]
{% endblock %}
If you didn't request a password reset, let us know.
Thank you.
The {{ site_name }} team.
{% endautoescape %}
おかげで、みんな。
@KlausD。、いいえパスワードの塩です。 – revy