更改密码后显示消息吗?

2024-03-15

我正在使用默认更改密码机制 https://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.views.password_change由 django 提供。

我在用着post_change_redirect让提交的表单直接返回到我的设置页面,但是我想显示一条消息,以向用户保证操作已成功。如何检测密码更改成功是否导致我进入设置视图,并添加一条消息来实现这一效果?


我不建议在设置视图中检查用户是否已通过密码更改到达。我认为理想情况下,密码更改的所有逻辑都包含在同一位置。这使得更容易找到逻辑,并且不需要设置视图了解密码更改视图(因此您可以轻松更改逻辑以将用户重定向到其他地方)。

你最好的选择是根据以下内容写下你自己的观点PasswordChangeForm而不是使用内置的password_change看法。通过这种方法,您可以使用消息框架 https://docs.djangoproject.com/en/dev/ref/contrib/messages/显示成功消息。 (您还必须启用消息框架并将其标记放入您的视图中。)

例如,如果您想显示一条简单的消息并重定向回名为的 URL 模式'settings',您可以编写一个如下所示的视图:

from django.contrib import messages
from django.contrib.auth.forms import PasswordChangeForm
from django.core.urlresolvers import reverse_lazy
from django.views.generic import FormView


class PasswordChangeView(FormView):
    template_name = 'registration/password_change_form.html'
    form_class = PasswordChangeForm
    success_url = reverse_lazy('settings')

    def get_form_kwargs(self):
        kwargs = super(PasswordChangeView, self).get_form_kwargs()
        kwargs['user'] = self.request.user
        return kwargs

    def form_valid(self, form):
        form.save()
        messages.success(self.request, "Your password has been changed.")
        return super(FormView, self).form_valid(form)

希望,password_change将来视图将基于类,从而允许使用更少的样板来实现相同的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改密码后显示消息吗? 的相关文章

  • Heroku 与 django 通道的正确 procfile/要求是什么?

    tl dr django 频道应用程序在本地使用 manage py runserver 运行 但不在 heroku 上运行 我是 django 通道的新手 尝试使用 heroku 通道部署一个非常基本的 django 应用程序 我最初使用
  • django jet 中的自定义徽标

    我目前正在尝试对 django 管理面板的皮肤进行一些定制 以使其更符合我们的品牌 目前我们使用 django jet 来美化管理面板 django jet 可以自定义 css html 吗 所有评论都说我应该更改一些 html 文件 但我
  • “WSGIRequest”对象没有属性“successful_authenticator”

    我已经创建了一个像这样的身份验证类 RESTful API 的令牌身份验证 是否应该定期更改令牌 https stackoverflow com questions 14567586 token authentication for res
  • django AuditTrail 与还原

    我正在开发一个新的网络应用程序 我需要将数据库中的任何更改存储到审核表中 此类审计表的目的是 稍后在真正的物理审计中 我们可以确定在某种情况下发生了什么 谁编辑了什么以及数据库当时的状态是什么 复杂的计算 所以大多数审计表将被写入而不是读取
  • 如何覆盖 Django 的默认管理模板和布局

    我正在尝试覆盖 Django 的默认模板 现在只有base site html 我正在尝试更改 django 管理文本 我做了以下事情 我在我的应用程序目录中创建了一个文件夹 opt mydjangoapp templates admin
  • 将 transaction.commit_manually() 升级到 Django > 1.6

    我继承了为 Django 1 4 编写的应用程序的一些代码 我们需要更新代码库以使用 Django 1 7 并最终更新到 1 8 作为下一个长期支持版本 在一些地方它使用旧风格 transaction commit manually and
  • Django通用外键和select_相关

    我试图使用与通用外键的关系来选择模型 但它没有按预期工作 我认为用代码可以更好地说明和理解 class ModelA models Model created models DateTimeField auto now add True c
  • 如何在 Django 中使用基于类的视图创建注册视图?

    当我开始使用 Django 时 我几乎使用 FBV 基于函数的视图 来处理所有事情 包括注册新用户 但当我更深入地研究项目时 我意识到基于类的视图通常更适合大型项目 因为它们更干净且可维护 但这并不是说 FBV 不是 无论如何 我将整个项目
  • 在 django 1.7 上的数据迁移中,直到原子块结束后才能执行查询

    我有一个相当长的数据迁移 我正在执行此操作来纠正早期的错误迁移 其中某些行创建不正确 我试图根据旧列将值分配给新列 但是 有时这会导致完整性错误 发生这种情况时 我想扔掉导致完整性错误的那个 这是一个代码片段 def load data a
  • Django 选择性转储数据

    是否可以有选择地过滤哪些记录Django的dumpdata管理命令输出 我有几个模型 每个模型都有数百万行 我只想转储一个模型中符合特定条件的记录 以及引用任何这些记录的所有外键链接记录 考虑这个用例 假设我有一个生产数据库 其中我的用户模
  • Django REST Framework ManyToMany 过滤多个值

    我有两个模型 一个定义用户 另一个定义这些用户的标签 我正在使用 Django REST Framework 创建 API 我希望能够查询至少包含标签 id 1 和 2 的用户 例如 如果用户的标签是 1 2 1 2 3 2 3 1 3 我
  • Django“和”Pinax 还是只是 Pinax?

    我正在开发一个个人项目 该项目已 完成 但现在我想添加一个社交应用程序 我认为 Pinax 已经为这项任务做好了准备 我想知道一些事情 我可以在我的项目中像 django 应用程序一样使用 pinax 吗 或者我需要使用 pinax 重新设
  • 在 Python/Django 中将用户的 facebook/twitter 好友与网站用户进行比较

    我想知道是否有人可以帮助指导解决这个相当常见的问题的方法 我正在构建一个简单的网站 用户可以连接他们的 Twitter 帐户进行注册 我想创建一个界面 向他们显示哪些推特好友已经在使用该网站 因此 我可以获得用户的 Twitter 朋友列表
  • 在 JavaScript 函数的 Django 模板中转义字符串参数

    我有一个 JavaScript 函数 它返回一组对象 return Func id name 例如 我在传递包含引号的字符串时遇到问题 Dr Seuss ABC BOOk 是无效语法 I tried name safe 但无济于事 有什么解
  • JQuery:将 FormData 和 csrf 令牌一起发布

    Is the data 下面的行正确吗 我想将表单数据和 csrf 令牌发布到 Django 视图函数 file upload on change function var currentpath window location pathn
  • 按外键字段的计数排序?

    我有一个用户模型和一个提交模型 每个提交都有一个名为 user subscribed 的外键字段 用于上传该提交的用户 class Submission models Model uploaded by models ForeignKey
  • 无法在 auto_now = True 的情况下在表单上显示 DateField

    我有一个带有 auto now 的模型 并为更新和创建字段设置了 auto now add class HotelProfiles models Model fe result id models AutoField primary key
  • 更新到 Django 1.8 - AttributeError: django.test.TestCase 没有属性 'cls_atomics'

    我将 Django 1 7 项目更新为 Django 1 8 现在运行测试时出现错误 它们是 Django 的子类 django test TestCase Traceback most recent call last File env
  • 用于渲染 html 子集的 Django templatetag

    我有一些 html 在本例中是通过 TinyMCE 创建的 我想将其添加到页面中 但是 出于安全原因 我不想只打印用户输入的所有内容 有谁知道模板标签 最好是过滤器 只允许呈现 html 的安全子集 我意识到 Markdown 和其他人就是
  • 无法导入QUERY_TERMS

    我正在运行一个网站Python and Django Django filters 2 1 installed Django 2 1 installed 当我运行时 我收到以下错误 importError Could not import

随机推荐

  • 检测通知托盘中的向左滑动?

    我想检测用户何时在通知上向左滑动 它可以在任何通知上 因为我将使用通知侦听器检测最近取消了哪个通知 是否有一个 全局 手势滑动我可以监听并且仅在检测到我的通知被忽略时触发我的应用程序特定事件 尝试以下 1 创建一个接收器来处理滑动关闭事件
  • 如何更改日期范围选择器的样式?

    在颤振中添加this https pub dev packages date range picker插件 这是我的代码 onPressed async final List
  • 在 iOS 应用程序的文档文件夹中创建一个文件夹

    我只想在 iPhone 应用程序的文档文件夹中创建新文件夹 有人知道该怎么做吗 感谢你的帮助 我通过以下方式做到这一点 NSError error NSArray paths NSSearchPathForDirectoriesInDoma
  • PHP计数,每2个字符添加冒号

    我有这个字符串 1010081 COP 8 27 20110616214459 我需要计算从该字符串末尾开始的最后 6 个字符 因为从开头开始可能会很长 然后我需要在每 2 个字符后添加冒号 所以从末尾算起 6 个字符后 它将是 21445
  • 如何允许 DIV 的文本选择,但阻止父 DIV 的文本选择?

    我想允许用户选择驻留在多个 DIV 中的文本 这些 DIV 一个接一个地排列 它们之间有很小的间隙 问题是 当用户拖动鼠标执行选择时 他们会越过 间隙 这会导致整个父 DIV 被瞬间选中 直到进入下一个子 DIV 这会导致 闪烁 行为和糟糕
  • 动态调整行内按钮的文本大小

    我正在使用本地化来支持我的应用程序中的多种语言 这会导致按钮中的文本长度不同 所以我需要让它具有响应能力 我有两个按钮Row 我想调整这些按钮内的文本大小 这样它们就不会产生任何溢出 目前在某些语言中它看起来像这样 我尝试使用自动大小文本
  • 使用snakemake条件执行多重分析

    我在Snakemake上遇到了一些麻烦 到目前为止我还没有找到相关信息 在文档中 或其他地方 事实上 我有一个包含不同样本 多重分析 的大文件 我想根据规则后找到的结果停止某些样本的管道执行 我已经尝试从规则定义中更改此值 使用检查点或 d
  • 在 .NET Core 类库的 Microsoft.AspNetCore.Hosting.Abstractions 程序集中找不到 IWebHostEnvironment

    我无法引用 NET Core 类库中的 IWebHostEnvironment 元素 我已经添加了 NuGet 包Microsoft AspNetCore Hosting Abstractions and Microsoft Extensi
  • EasyZip 生成的 Zip 无法正常工作

    我使用 Easyzip 生成了一个 zip 文件 我可以直接从下载文件夹打开它 但是当下载后尝试打开它时 我收到此错误 提取文件时发生错误 这是我的后端代码 var zip2 new EasyZip zip2 zipFolder downl
  • 如何在 QListWidget 中显示没有文本的图标?

    我只想显示我的图标QListWidget 我将文本设置为空字符串 当我选择一个图标时 我会在文本位置看到一个空的选定方块 看截图 我怎样才能摆脱这个空白空间 使用 NULL 代替 ui gt listWidget gt addItem ne
  • 如何记录作为参数的闭包的参数

    我尝试记录函数的闭包参数 sends the request out Parameter pzurl request description including url method formdata Parameter responseP
  • Java正则表达式提取带或不带引号的字段

    我正在尝试以两种基本形式从长字符串中提取键值对 一种带引号 一种不带引号 例如 a First Field b SecondField 使用Java正则表达式 b a b s s b 但是 运行以下测试代码 public static vo
  • 如何确保特征等距保持等距?

    我目前正在调查Eigen Isometry3f 定义为typedef Transform
  • 不使用 EOF 位作为我们的流提取条件的真正原因是什么?

    Inspired by my previous question https stackoverflow com q 14591203 150634 新 C 程序员的一个常见错误是从文件中读取以下内容 std ifstream file f
  • Jquery中的asp标签文本更改事件

    当asp标签的值发生变化时如何触发jquery方法 我已经尝试过这个 但它不起作用 lbladdsupplier change function alert Changed The change仅当表单元素值更改时才会触发事件 在这种情况下
  • 用于编码 RGB 值的位移位和按位运算

    我想将 RGB 颜色编码为单个整数值 假设编码算法如下 int code blue 256 256 green 256 red 如何使用位移位和 或按位运算符对 RGB 分量进行编码 解码 int blueMask 0xFF0000 gre
  • 使用 pandas 从每组中随机选择一行

    我有一个熊猫数据框df显示如下 Month Day mnthShape 1 1 1 016754224 1 1 1 099451003 1 1 0 963911929 1 2 1 016754224 1 1 1 099451003 1 2
  • 将 SPSS 元数据变量标签、值标签、数据类型等导出到自定义文本文件

    我们有一个很大的 SPSS 文件 大小为 5MB 包含大约 1400 个变量 我们正在将所有内容迁移到数据库 为了配置表格和表单等 我们需要 SPSS 文件中的元数据 但采用特定的自定义格式 所以如果变量视图是这样的 Name Label
  • 如何配置 Sphinx 有条件地排除某些页面?

    使用 Sphinx 生成文档时 我希望能够生成文档的两个版本 一个包含所有内容 另一个仅包含一组特定的页面 实现这一目标的最佳方法是什么 我可以编写一个构建脚本来移动文件来实现此目的 但如果有一种方法可以告诉 sphinx 在特定构建期间排
  • 更改密码后显示消息吗?

    我正在使用默认更改密码机制 https docs djangoproject com en dev topics auth django contrib auth views password change由 django 提供 我在用着p