我将django allauth用于我的django项目,以获取所有与身份验证相关的功能,
所以现在我想实现password change
功能,因此只需将django allauth模板复制到我的templates/allauth/account/password_change.html
并使用我的自定义设计进行自定义,其形式如下
<form accept-charset="UTF-8" class="" action="{% url 'account_change_password' %}" method="post">
{% csrf_token %}
<div class="alert alert-success password_changed">
You have Successfully changed your Password!
</div>
{{form.as_p}}
<div class="span12 pagination-centered marg_lftnone">
<input id="save_new_password" name="action" type="submit" class="btn btn-large big_btn marg_tp38 marg_btm38" value="Save Password">
</div>
</form>
因此,使用上面的模板,密码更改功能一直可以正常工作并重定向到当前页面,但是我想要的是重定向到当前页面时的功能,我想显示一个类似上面的
message div
关于通知该you have changed password successfully
的信息。那么,成功更改密码并重定向到同一页面后,如何显示和显示错误消息?
最佳答案
Allauth发出password_changed
信号,因此您需要连接接收器。在您的models.py中添加以下内容:
from allauth.account.signals import password_changed
from django.dispatch import receiver
from django.contrib import messages
@receiver(password_changed)
def password_change_callback(sender, request, user, **kwargs):
messages.success(request, 'You have Successfully changed your Password!.')
然后按照here所述在模板内使用您的消息。
关于python - django allauth更改密码 View 返回响应后如何添加成功消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19892366/