私はモバイルアプリのバックエンドを作成しており、Django と Userena を使用してユーザー管理を行っています。Django REST フレームワークを使用してサインインとサインアップを行ったところ、すべて正常に動作しました。私が今しなければならないことは、「パスワードを忘れる」機能を実装することだけです。Userena で既に実装されているものを使いたかったのですが、deectorator を使用しても「CSRF トークンが見つからないか、正しくありません」というエラーが解消されませんcsrf_exempt
。私は何をしているのですか?
urls.py
from django.contrib.auth.views import password_reset
from django.views.decorators.csrf import csrf_exempt
...
urlpatterns = patterns(
'',
url(r'^password/mobile/reset/$',
csrf_exempt(password_reset),
{'template_name': 'userena/password_reset_form.html',
'email_template_name': 'userena/emails/password_reset_message.txt',
'extra_context': {'without_usernames': userena_settings.USERENA_WITHOUT_USERNAMES}
},
name='userena_password_mobile_reset'),
)
password_reset_form.html
{% extends 'userena/base_userena.html' %}
{% load i18n %}
{% block title %}{% trans "Reset password" %}{% endblock %}
{% block content %}
<form action="" method="post">
<fieldset>
<legend>{% trans "Reset Password" %}</legend>
{% csrf_token %}
{{ form.as_p }}
</fieldset>
<input type="submit" value="{% trans "Send password" %}" />
</form>
{% endblock %}