首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何限制django PasswordResetView在提交邮件后跳转到PasswordResetDoneView?

在Django中,可以通过自定义URLConf来限制PasswordResetView在提交邮件后跳转到PasswordResetDoneView。以下是实现的步骤:

  1. 首先,在你的项目的URLConf文件中,通常是urls.py,导入PasswordResetViewPasswordResetDoneView
代码语言:txt
复制
from django.contrib.auth.views import PasswordResetView, PasswordResetDoneView
  1. 创建一个自定义的PasswordResetView类,继承自PasswordResetView,并重写form_valid方法:
代码语言:txt
复制
from django.urls import reverse_lazy

class CustomPasswordResetView(PasswordResetView):
    def form_valid(self, form):
        # 调用父类的form_valid方法,发送密码重置邮件
        super().form_valid(form)
        # 重定向到PasswordResetDoneView
        return HttpResponseRedirect(reverse_lazy('password_reset_done'))
  1. 在URLConf中,将PasswordResetView指向自定义的CustomPasswordResetView,将PasswordResetDoneView指向默认的视图:
代码语言:txt
复制
from django.urls import path
from .views import CustomPasswordResetView

urlpatterns = [
    # 其他URL配置...
    path('password_reset/', CustomPasswordResetView.as_view(), name='password_reset'),
    path('password_reset/done/', PasswordResetDoneView.as_view(), name='password_reset_done'),
    # 其他URL配置...
]

现在,当用户提交密码重置请求后,将会发送重置邮件并重定向到PasswordResetDoneView视图。

请注意,以上代码仅限于限制PasswordResetView在提交邮件后跳转到PasswordResetDoneView,并不包括其他功能和错误处理。如果需要更多自定义和错误处理,可以进一步扩展和修改视图类。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django | allauth】重写allauth重置密码方法

)✨ @toc 一、场景需求 allauth 中默认重置密码的方式是用户发送重置密码的请求,发送重置密码的链接到用户的邮箱里面重置密码,如果使用QQ邮箱的SMTP服务,一天最多只能发送50封邮件,这样是明显不满足需求的...,而如果为了实现此功能去部署一台邮件服务器或者申请一个企业邮箱,动辄几千一年的费用实在伤不起。...二、重写表单模型 form.py 添加表单模型 (处理手机号) from django import forms # 重写重置密码表单 class ResetPasswordForm(forms.Form...import PasswordResetView from django.contrib.auth.decorators import login_required from django.contrib.auth.models...(request, 'account/telephone_error.html', {'content': "电话错误(表单格式错误)"}) # 注意 这里不能加上 login_required 的限制

1.4K20

Django认证系统并不鸡肋反而很重要

使用django-admin startproject创建项目Django就默认安装了一个采用session实现的认证系统。这是Django相比于其他框架的一大特点:自带认证系统,开箱即用。...login_required 对于未登陆的用户,需要进行限制,必须先登陆才能进行访问。...但有时我们需要自定义url,URLconf中添加自定义url,再加上相应视图即可,例如: from django.contrib.auth import views as auth_views urlpatterns...Django提供的相关视图有LoginView、LogoutView、PasswordChangeView、PasswordChangeDoneView、PasswordResetViewPasswordResetDoneView...小结 本文介绍了Django自带的基于session的认证系统,阐述了用户、组、认证与授权的相关概念,以及session认证的技术细节,最后讲解了如何快速上手体验的操作步骤。

1.1K10
  • 【云+社区年度征文】Django认证系统并不鸡肋反而很重要

    使用django-admin startproject创建项目Django就默认安装了一个采用session实现的认证系统。这是Django相比于其他框架的一大特点:自带认证系统,开箱即用。...login_required 对于未登陆的用户,需要进行限制,必须先登陆才能进行访问。...但有时我们需要自定义url,URLconf中添加自定义url,再加上相应视图即可,例如: from django.contrib.auth import views as auth_views urlpatterns...Django提供的相关视图有LoginView、LogoutView、PasswordChangeView、PasswordChangeDoneView、PasswordResetViewPasswordResetDoneView...小结 本文介绍了Django自带的基于session的认证系统,阐述了用户、组、认证与授权的相关概念,以及session认证的技术细节,最后讲解了如何快速上手体验的操作步骤。

    1.6K70

    重置密码

    发送邮件设置好,接下来的步骤和之前的登录,注册,修改密码等是完全类似的了,只需添加和修改相应模板即可。...编写邮件发送成功页面模板 用户重置密码页面输入注册时的邮箱Django 会把用户跳转到邮件发送成功页面,该页面渲染的模板为 password_reset_done.html,因此再添加一个密码修改成功页面的模板... 编写设置新密码页面模板 接收到的重置密码邮件中有一个设置新密码的链接,点击该链接就会跳转到给账户设置新密码的页面...输入注册时邮箱 登录页面点击找回密码的按钮,跳转到输入注册邮箱页面: image.png 邮件发送成功 输入正确的邮箱地址,系统将发送重置密码的邮件到终端: image.png 终端可以接收到如下的邮件内容...设置新密码 设置新密码的页面输入需要设置的新密码: image.png 新密码设置成功 点击提交将跳转到新密码设置成功页面: image.png 现在便可以用新设置的密码登录了。

    4.9K90

    006: Django ajax请求

    本章知识点 Ajax 介绍 Django ajax请求 完成用户名的校验 知识点讲解 Ajax 介绍 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。...这意味着可以不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。...//请求的地址 type:“get”, //请求的方式 data:"", //请求的数据 success:function (data) { //data 后台返回的数据 },//请求成功执行函数...error:function (error) { //error 后台返回的错误数据 }//请求失败执行函数 } )//创建ajax对象 然后我们编写了ajax的响应视图 视图的编写...2、视图判断逻辑 判断用户名是否存在 存在 给提交的密码进行加密 然后比对密码 如果密码相同 登录成功 跳转到首页 不同 登录页面 跳转到登录页 不存在 用户名不存在 跳转到你想的页面

    1.7K10

    Django+xadmin打造在线教育平台(三)

    代码 github下载 五、用户注册 主要实现功能 用户输入邮箱、密码和验证码,点注册按钮 如果输入的不正确,提示错误信息 如果正确,发送激活邮件,用户通过邮件激活才能登陆 即使注册功能,没有激活的用户也不能登陆...5.6.发送激活邮件 Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装,让我们Django环境中可以更方便更灵活的发送邮件。...页面,输入邮箱和验证码成功,发送邮件提醒 通过点击邮件链接,可以重置密码 两次密码输的正确无误,密码更新成功,跳到登录界面 6.1.路由设计 from users.views import ForgetPwdView...send_success.html') else: return render(request,'forgetpwd.html',{'forget_form':forget_form}) 用户提交邮箱...然后填上要找回密码的邮箱和验证码,提交后会收到邮件 ? 点击链接,跳到修改密码页面 ? 修改密码,跳转到login页面

    4.2K90

    Django实战-用户注册和登陆系统

    重新刷新login页面,确保csrf的标签生效,然后再次输入内容并提交。浏览器页面跳转到了首页。...这一点和Django模型系统的设计非常相似。 label参数用于设置标签 max_length限制字段输入的最大长度。...它同时起到两个作用,一是浏览器页面限制用户输入不可超过字符数,二是在后端服务器验证用户输入的长度也不可超过。...下面就让我们先看看如何Django中发送邮件吧。 11.1.Django中发送邮件 其实在Python中已经内置了一个smtp邮件发送模块,Django在此基础上进行了简单地封装。...点击提交,此时激活邮件已发送,但还是not confirmed状态,还不能登入,进入你的测试邮箱,查看注册邮件: ? 点击链接,自动跳转到确认成功提示页面,2秒再跳转到登录页面。

    7.7K40

    django2实战5.创建表单及发送邮件测试邮件发送创建表单页面业务逻辑搭建新建分享页面模板详情页添加分享入口结果展示

    继上篇 django2实战4.创建文章列表页和详情页 本篇要实现这样的功能:文章详情页增加分享文章的入口,点击跳到分享页面,提交要发送的email地址,程序将发送邮件到相应邮箱,邮件内容是文章的链接地址...测试邮件发送 django自带了发送邮件的功能,只需要简单的配置即可,以163邮件服务器为例: mysite/mysite/settings.py 新增邮件服务器配置: EMAIL_HOST = 'smtp...= 25 EMAIL_USE_TLS = True 交互环境测试发送邮件 In [1]: from django.core.mail import send_mail In [3]: send_mail...('Django mail', '通过Django发送的邮件', '发送方的邮件', ['接收方邮件'], fail_silently ...: =False) Out[3]: 1 ?...推荐入口 分享页面,提交表单 ? 表单提交 邮件发送成功的提示页 ? 邮件发送成功 查看邮件 ? 邮件内容 下一节将讲解如何搭建文章评价系统。

    1.5K20

    Django】 开发:补充知识

    Protocol) 发送电子邮件 settings.py 设置 # 发送邮件设置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend...) 项目部署 项目部署是指在软件开发完毕,将开发机器上运行的开发板软件实际安装到服务器上进行长期运行 部署要分以下几个步骤进行 安装机器上安装和配置同版本的环境 django...当前 django 项目的程序已变成后台守护进程,关闭当前终端时此进程也不会停止。...执行该命令Django 将项目重所有静态文件 复制到 中 ,包括 Django 内建的静态文件【如 admin 后台的样式】 Nginx 配置中添加新配置 # file : /etc/nginx...2,POST提交中的数据 from django.views.decorators.debug import sensitive_post_parameters @sensitive_post_parameters

    6.4K30

    Django学习-第十一讲(下):视图高级(一)网页请求限制、HttpRequest、HttpResponse、JsonResponse对象

    2.POST请求: POST请求一般是用来向服务器提交数据,会对服务器的状态进行更改。比如提交一篇文章给服务器。 2. 限制请求装饰器 Django内置的视图装饰器可以给视图提供一些限制。...页面重定向 重定向分为永久性重定向和暂时性重定向,页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面。...Django中,重定向是使用redirect(to, *args, permanent=False, **kwargs)来实现的。...5.HttpResponse对象 Django服务器接收到客户端发送过来的请求,会将提交上来的这些数据封装成一个HttpRequest对象传给视图函数。...那么视图函数处理完相关的逻辑,也需要返回一个响应给浏览器。而这个响应,我们必须返回HttpResponseBase或者他的子类的对象。

    1.2K20

    Django REST framework+Vue 打造生鲜超市(一)

    bug api接口出错不能及时的发现或难以找到错误栈 api文档管理问题,html markdown 大量的url配置造成url配置越来越多难以维护 接口不及时去更新文档,对方不知道如何去测试接口,但写文档会花费大量的时间去维护...为了防止爬虫,我们需要针对api的访问频率进行限制,比如一分钟,一小时,或者一天用户的访问频率限制问题。...的远程服务器代码调试技巧让大家不仅可以调试支付,第三方登录,还可以远程服务器代码来重现服务器上的bug 通过docker 搭建 sentry 来体验错误日志监控系统,让我们不仅可以得到线上的错误栈还能及时发生系统错误时收到邮件通知...js接口代码,shell测试代码和python测试代码 django rest framework 提供的throttle 对于api进行访问频率的限制 引入第三方框架来设置某些api的缓存 1.5.django...提交,删除留言 快速浏览。页面的缓存 访问速度限制 & 接口文档 测试交互 出错处理: sentry基于drf。打印错误栈,当前请求用户。

    3.7K101

    一、二、开发准备

    bug api接口出错不能及时的发现或难以找到错误栈 api文档管理问题,html markdown 大量的url配置造成url配置越来越多难以维护 接口不及时去更新文档,对方不知道如何去测试接口,但写文档会花费大量的时间去维护...为了防止爬虫,我们需要针对api的访问频率进行限制,比如一分钟,一小时,或者一天用户的访问频率限制问题。...的远程服务器代码调试技巧让大家不仅可以调试支付,第三方登录,还可以远程服务器代码来重现服务器上的bug 通过docker 搭建 sentry 来体验错误日志监控系统,让我们不仅可以得到线上的错误栈还能及时发生系统错误时收到邮件通知...js接口代码,shell测试代码和python测试代码 django rest framework 提供的throttle 对于api进行访问频率的限制 引入第三方框架来设置某些api的缓存 1.5.django...提交,删除留言 快速浏览。页面的缓存 访问速度限制 & 接口文档 测试交互 出错处理: sentry基于drf。打印错误栈,当前请求用户。

    1.5K00

    Django 笔记-1-从请求到响应

    WSGI 不是服务器,Python 模块,框架,API 或者任何软件,只是一种规范,描述 Web Server 如何与 Web Application 通信的规范。...Django WSGI Server 负责获取 HTTP 请求,将请求传递给 Django WSGI Application,由 Django WSGI Application 处理请求返回 response...如何编写自己的中间件即中间件的深入了解 编写一个自己的中间件是很容易的,每个中间件组件都是一个独立的 Python Class,你可以自定义的 Class 下编写一个或多个下面的方法: process_request...对象,Django 会直接跳转到 Response Middleware; PS:除 CsrfViewMiddleware 外中间件运行时视图运行前或在 process_view() 中访问 request.POST...函数,则用 URLPattern 处理,至;如果匹配失败,抛出异常; URLPattern 初始化相应值执行 resolve 方法:如果匹配成功,返回 ResolverMatch;如果匹配失败,抛出异常

    86821

    Django项目(三)

    邮箱注册改进(选看) Django中发送一个邮件是先发送给smtp服务器,smtp发送到目的邮箱,那么这个中间是有一个等待的过程,我们不想让他等待,直接跳转主页。...也就是说我告诉他要去发送一封邮件,我们不用等待他发送成功! 这里要用到celery异步,当我们遇见比较耗时的操作,比如发送邮件,图片上传等,都可以用到celery。...如何使用: 1.1、首先安装celery包:pip install celery,安装redis:pip install redis==2.10.6,安装eventlet:pip install eventlet...1.2、我们一个项目中是经常遇见耗时的任务的,所以我们新创建一个python的包,给个名字celery_tasks,创建一个python文件tasks 1.3、tasks.py中写上: # 使用celery...from celery_tasks.tasks import send_register_email send_register_email.delay(email,username,token) 1.5、如何启动

    54320

    流程引擎标准定义_开源流程引擎

    流程控制 可以将权限内的流程(流程权限与人员权限双重限制)进行按管理员流程中预设的权限进行退回、跳过、重指定操作人、中止、结束、撤销操作,相应的操作会自动发送相应的信息给流程的参与人员 47....签”中设置节点编号,与“下一步”相配合,供选择跳到哪个节点;(可以设置能跳回到多个节点,如当前节点为1,可以选择签到“4,6,7”,即在下一步时,可以跳过中间节点环节,直接选择这三个节点的中任意一个...下一节点 表示流程中当前节点执行人处理完,流转到的下一个节点(如果录入“10,20”,则表示为并发节点,即当前节点完成,流程并发给10和20这两个节点); 80....超时提醒 节点办理时限设置,超时提醒人员(流程发起人、某环节办理人、流程发起人的领导、本环节办理人领导、指定人员/职务/岗位/群组/部门)设置;与签、转发配合,设定的时限到达自动进行签或转发;...超时事件 可以将转发、签作为超时事件,条件下生效 89. 邮件/短信 短信/邮件验证 要求在办理时输入短信/邮件验证码 90.

    1K20

    解决django中form表单设置action无法回到原页面的问题

    django中form表单设置action,点提交按钮是跳转到action页面的,比如设置action为login,网址为192.168.1.128,跳转便会来到192.168.1.128/login...,F5刷新也会是重新提交表单对话框,无法回到原页面。...因此就要在django服务器进行重定向,具体就是 from django.shortcuts import redirect #最后返回原页面 return redirect(url) 补充知识:Django...import csrf_exempt,否则会出现错误csrf_token错误 (403) 2、request.is_ajax()判断当前是否是使用ajax 进行表单提交 3、django request.POST...{‘name’: [‘夺夺’], ‘limit’: [‘123′] 以上这篇解决django中form表单设置action无法回到原页面的问题就是小编分享给大家的全部内容了,希望能给大家一个参考

    2.3K10
    领券