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

更改密码后,不要在django中重定向我想要的页面

在Django中,更改密码后,可以通过以下步骤来实现不重定向到默认页面:

  1. 首先,确保你已经在Django项目中配置了用户认证系统。可以通过在settings.py文件中添加以下代码来启用认证系统:
代码语言:txt
复制
AUTHENTICATION_BACKENDS = [
    'django.contrib.auth.backends.ModelBackend',
]
  1. 在你的视图函数或类中,处理密码更改的逻辑。你可以使用PasswordChangeForm表单类来处理密码更改。示例代码如下:
代码语言:txt
复制
from django.contrib.auth.forms import PasswordChangeForm
from django.contrib.auth import update_session_auth_hash

def change_password(request):
    if request.method == 'POST':
        form = PasswordChangeForm(request.user, request.POST)
        if form.is_valid():
            user = form.save()
            update_session_auth_hash(request, user)  # 更新会话中的认证哈希值
            return redirect('desired_page')  # 重定向到你想要的页面
    else:
        form = PasswordChangeForm(request.user)
    return render(request, 'change_password.html', {'form': form})

在上述代码中,PasswordChangeForm接受两个参数:当前用户对象和POST数据。如果表单验证通过,form.save()方法将保存新的密码,并且update_session_auth_hash()函数将更新会话中的认证哈希值,以确保用户仍然保持登录状态。最后,使用redirect()函数将用户重定向到你想要的页面。

  1. 在模板中创建一个表单,用于接收用户输入的旧密码和新密码。示例代码如下:
代码语言:txt
复制
<!-- change_password.html -->
<form method="post">
  {% csrf_token %}
  {{ form.as_p }}
  <button type="submit">Change Password</button>
</form>

在上述代码中,form.as_p将渲染表单字段,并且{% csrf_token %}用于防止跨站请求伪造。

这样,当用户更改密码时,将不会重定向到默认页面,而是重定向到你在视图函数或类中指定的desired_page页面。

希望以上信息对你有帮助!如果你需要了解更多关于Django的知识或其他云计算领域的问题,请随时提问。

相关搜索:在PrivateRoute中重定向不呈现我的页面在使用django创建网站时,我没有被重定向到我想要重定向到的页面在我重定向到不同的url后,Django.contrib.auth.login不工作想要在django中为每个博客文章创建单独的页面吗?但不知道如何继续?我需要在我的首选项页面中更改子项目的TextColor我需要在woo商务产品页面中删除产品描述后的空格我想从登录selenium java后更改的页面中获取文本我的更改密码表单错误在我的html页面中不起作用我想要重定向到自定义html页面时,新标签是在chrome中创建的Django在登录后没有重定向到个人资料页面。我的代码出了什么问题?我想要一个解决方案,以便在我获得未来数据后立即更改我的状态,而不需要在Flutter中执行任何点击操作我想要在按钮上添加发光效果,当选择器输入中的值在shiny中更改时。想要在一行jquery代码中更改css的2个或更多属性,我该怎么做?如何更改我在Django中的“订单”,在收到付款后,通过条纹结帐会话?我应该在django视图的success_url中放入什么。现在,这既不是保存编辑后的表单,也不是重定向页面如何在使用firebase google登录、在flutter应用程序中登录后保存或保留要在我的设置页面中使用的数据为什么react中的外部javascript在第一个页面更改/重定向到另一个路由后无法加载我正在使用c#中的html代码和css来设计按钮,但我不知道如何在单击按钮(ASP.net)后将其重定向到另一个页面。
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django用户身份验证完成示例代码

有了这些设置,运行命令manage.py migrate将为auth相关模型创建必要数据库表,并为已安装应用程序定义任何模型创建权限。 Django提供以下基于类视图来处理身份验证。...它们全部位于django.contrib.auth.views: LoginView:处理登录表单并登录用户 LogoutView:注销用户 PasswordChangeView:处理表单以更改用户密码...PasswordChangeDoneView:用户成功重定向视图 PasswordResetView:允许用户重置其密码。...您需要在注册文件夹之外创建该文件,只需要在主模板添加该文件,这些就是我们要添加到模板文件夹文件。 基本上,home.html用于重定向成功登录。 这是base.html <!...,则告诉Django成功登录重定向哪个URL LOGOUT_URL:用于重定向用户以注销URL 密码修改 这些是我们更改密码文件。

2.6K20

Django重定向

Django重定向 在前后端分离情况下,我们很少使用重定向。 为什么要使用重定向? 我们为什么要将用户访问重定向到不同 URL 地址?...我们看看 Django 项目是怎么回答: 当你未登录并请求需要身份验证URL(如Django管理员)时,Django会将你重定向到登录页面 成功登录Django会将你重定向到最初请求URL...当你使用Django管理员更改密码时,系统会将你重定向到指示更改成功页面 当你在Django管理员创建对象时,Django会将你重定向到对象列表。...如果是,返回成功响应;如果该请求发起者未登录,则后端返回未登录,前端根据返回值,跳转到登录页面即可。当然,也可以是后端直接重定向到前端页面。不过这样做,就需要知道前端路由。...使用redirect进行重定向 下面是一个非常简单例子: def test(request): from django.shortcuts import redirect return

2.6K20
  • django 1.8 官方文档翻译: 3-6-2 内建中间件

    如果开启了这些缓存,任何一个由Django提供页面将会被缓存,缓存时长是由你在CACHE_MIDDLEWARE_SECONDS配置定义。详见缓存文档。...注意在大多数Django涉及处理上传文件部署环境,这个设置不会有任何帮助。...例如,如果你MEDIA_URL被前端web服务器直接处理(例如nginx和Apache),你可能想要在那里设置这个协议头。...如果你站点上一些页面应该以HTTP方式提供,并且不需要重定向到HTTPS,你可以SECURE_REDIRECT_EXEMPT设置列出匹配那些url正则表达式。...class SessionAuthenticationMiddleware[source] Django 1.7新增 当用户修改密码时候使用户会话失效。详见密码更改会话失效。

    94930

    15.Django基础十一之认证系统

    但是想要在原来模型基础之上添加新字段,那么可以使用一对一外键方式。..._create_user(telephone, password, **extra_fields) 在创建了新User模型,还需要在settings配置好。...,       2 如果用户没有登录就访问该页面的话直接跳到登录页面       3 用户在跳转登陆界面完成登陆,自动访问跳转到之前访问地址     方法1: def my_view(request...若用户没有登录,则会跳转到django默认 登录URL '/accounts/login/ ' 并传递当前访问url绝对路径 (登陆成功,会重定向到该路径)。     ...auth_user表之后,一定要在settings.py告诉Django现在使用新定义UserInfo表来做用户认证。

    2.1K20

    基于PycharmDjango学习1 —— Django三种响应

    基于PycharmDjango学习 Python – Web Django三种响应 响应文本内容 响应html页面 响应重定向 Python – Web 其实在上一篇博客,讲解Pycharm社区版创建...这样,python-web基本目录结构就搭建好了,后续就是往里面填充内容咯! Django三种响应 Django基础是有三种响应,一种是响应文本内容,一种是响应html页面,一种是响应重定向。..."demo.html") 响应html页面的时候,需要使用render()函数,其第一个参数是request对象,第二个参数是你想要响应html页面文件名称,第三个参数可以是你后端想要传递给前端页面的信息...也就是说,比如浏览器给Django发送请求,想要重定向到我博客,那么浏览器就会把博客url返回给浏览器,然后浏览器再去自己发送请求访问我博客,而不是Django给我博客发送请求,再把内容返回给浏览器...重定向结果: 大家快也动动发财小手去试一试吧!!! 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。

    58810

    关于“Python”核心知识点整理大全58

    19.2.3 注销 现在需要提供一个让用户注销途径。我们创建用于注销页面,而让用户只需单击一个 链接就能注销并返回到主页。...保存用户信息,我们让用户自动登录,这包含两个步骤。首先,我们调用authenticate(), 并将实参new_user.username和密码传递给它(见5)。...用户注册时,被要求输入密码两次;由于 表单是有效,我们知道输入这两个密码是相同,因此可以使用其中任何一个。在这里, 们从表单POST数据获取与键'password1'相关联值。.../login/' 现在,如果未登录用户请求装饰器@login_required保护页面Django重定向到 settings.pyLOGIN_URL指定URL。...然后,单击链接Topics,这将重定向到登录页面。接 下来,使用你账户登录,并再次单击主页Topics链接,你将看到topics页面。 2.

    11310

    Django搭建博客(六):为后台添加用户认证机制

    我们可以通过判断返回值是否为 None来判断密码是否正确,当返回值不是 None时我们进行进一步操作,否则重定向到登录页面。...然后对于需要登录页面,我们只需要在视图函数上加上auth.decorators.login_required修饰器即可 二、为博客后台添加身份认证 前面我们简单讲了一下如何使用 Django auth...: 先判断请求方式 如果为 get请求,返回登录页面; 如果为 post请求 则验证账号和密码有效性, 若账号和密码匹配则返回登录页面重新登录 若账号和密码正确,在验证账号是否处于激活状态...是则将当前请求添加到已登陆列表,然后返回后台管理页面 否则返回登录页面重新登录。...其实这些都是用来提高我们代码可维护性,下一篇我们会用这些来简化我们代码。 看完之后觉得还不错?... ... 你懂意思吧.jpg

    68920

    django-Auth模块(详细介绍)

    如果认证成功(用户名和密码正确有效),便会返回一个 User 对象。 authenticate()会在该 User 对象上设置一个属性来标识后端已经认证了该用户,且该信息在后续登录过程是需要。...若用户没有登录,则会跳转到django默认 登录URL '/accounts/login/ ' 并传递当前访问url绝对路径 (登陆成功,会重定向到该路径)。...如果需要自定义登录URL,则需要在settings.py文件通过LOGIN_URL进行修改。...3 扩展默认auth_user表 这内置认证系统这么好用,但是auth_user表字段都是固定那几个,在项目中没法拿来直接使用啊! 比如,想要加一个存储用户手机号字段,怎么办?...表之后,一定要在settings.py告诉Django现在使用新定义UserInfo表来做用户认证。

    1.2K20

    Auth模块

    如果认证成功(用户名和密码正确有效),便会返回一个 User 对象。 authenticate()会在该 User 对象上设置一个属性来标识后端已经认证了该用户,且该信息在后续登录过程是需要。...若用户没有登录,则会跳转到django默认 登录URL '/accounts/login/ ' 并传递当前访问url绝对路径 (登陆成功,会重定向到该路径)。...如果需要自定义登录URL,则需要在settings.py文件通过LOGIN_URL进行修改。...3 扩展默认auth_user表 这内置认证系统这么好用,但是auth_user表字段都是固定那几个,在项目中没法拿来直接使用啊! 比如,想要加一个存储用户手机号字段,怎么办?...表之后,一定要在settings.py告诉Django现在使用新定义UserInfo表来做用户认证。

    94520

    Django开发快速入门

    典型Django开发 首先,我们需要在计算机上有一个专用目录来存储代码。 它可以放置在任何地方,但为了方便起见,如果您使用是Mac,我们可以将其放在“桌面”文件夹。...我们可以只键入python manage.py makemigrations,但是如果有多个应用程序进行了数据库更改,那么这两个应用程序都将被添加到迁移文件,这使得将来调试更加困难。...image-20200916020942554 然后点击右上角“添加图书+”按钮。 ? image-20200916021033382 已经输入了Django初学者书籍详细信息。...单击“保存”按钮,我们将重定向到列出所有当前条目的“书籍”页面。 ? image-20200916021124065 我们传统Django项目现在有数据,但是我们需要一种将其公开为网页方法。...现在,我们可以配置我们books / urls.py文件。 但是,糟糕! Django由于某种原因在应用程序默认包含urls.py文件,因此我们需要自己创建它。

    2.3K41

    Django MVT之V

    属性 path:字符串,表示请求页面的完整路径,包含域名和参数部分。 method:字符串,表示请求使用HTTP方法,常用值包括:’GET’、’POST’。...当一个逻辑处理完成,不需要向客户端呈现数据,而是转回到其它页面,如添加成功、修改成功、删除成功显示数据列表,此时就需要模拟一个用户请求效果,从一个视图转到另外一个视图,就称为重定向。...Django中提供了HttpResponseRedirect对象实现重定向功能,这个类继承自HttpResponse,被定义在django.http模块,返回状态码为302。...('/index') 在django.shortcuts模块重定向类提供了简写redirect函数。...唯一标识码保存在Cookiesessionid。 Session也是有过期时间,如果指定,默认为两周。 之前登陆demo已经通过Cookie来保存了用户名,这里用Session来保存密码

    1.9K20

    创建Django项目并将其部署在腾讯云上

    5>最后还有个manage.py 这是整个项目的启动文件,是随项目创建时而生成,一般不需要我们去管,但是如果想要在启动Django项目时掉用某些方法时,可以在manage.py调用,不过推荐。   ...3下面我们说说配置:     首先,我们Django启动肯定是想要访问我们写好页面,但是html模板文件又在templates文件夹下,所以先配置他:     我们需要将“ os.path.join...方法     在views.py先导入这样一句: from django.shortcuts import render 用来重定义,     然后再写入这个方法,意思是重定向到index.html文件...这样的话,一个Django项目就搭建起来了 下面时这次遇到一些问题和使用到命令。 ...很无奈   在xshell上启动了项目,但是当我关掉xshell 项目就宕掉了。。。

    4.1K30

    Django 用户认证(Auth)组件

    如果认证成功(用户名和密码正确有效),便会返回一个 User 对象。 authenticate()会在该 User 对象上设置一个属性来标识后端已经认证了该用户,且该信息在后续登录过程是需要。...若用户没有登录,则会跳转到django默认 登录URL '/accounts/login/ ' 并传递当前访问url绝对路径 (登陆成功,会重定向到该路径)。...如果需要自定义登录URL,则需要在settings.py文件通过LOGIN_URL进行修改。...3 扩展默认auth_user表 这内置认证系统这么好用,但是auth_user表字段都是固定那几个,在项目中没法拿来直接使用啊! 比如,想要加一个存储用户手机号字段,怎么办?...表之后,一定要在settings.py告诉Django现在使用新定义UserInfo表来做用户认证。

    91130

    django 1.8 官方文档翻译:13-1-2 使用Django认证系统

    限制访问给登陆用户 原始方法 限制页面访问简单、原始方法是检查request.user.is_authenticated()并重定向到一个登陆页面: from django.conf import...把它设置为 None 来把它从 URL 移除,当你想把通不过检查用户重定向到没有next page 非登录页面时。...另外一个方法是编写一个封装as_view()mixin。 密码更改会话失效 New in Django 1.7....如果你在升级一个现存站点,并且希望开启这一间件,而希望你所有用户之后重新登录,你可以首先升级到DJango1.7并且运行它一段时间,以便所有会话在用户登录时自然被创建,它们包含上面描述会话哈希...post_change_redirect: 密码修改成功重定向URL。 password_change_form: 一个自定义“修改密码”表单,必须接受user 关键词参数。

    4.6K20

    Django框架学习笔记(五)给URL命名

    知道Django某一个功能用途,比单纯地知道怎么用更有用。 今天我们要学习内容是Django页面跳转,重点讲的是使用url里name参数 一、url设置name属性 1....想修改路径名 根据前面做好web项目,登录页面的url为:http://127.0.0.1:8000/login/;如果我们想把路径名login换成signin,该怎么做呢?...如果有很多个页面都做了重定向到login页面,我们就需要对每一个函数进行修改操作,太麻烦了!有没有什么办法能让我们做路径修改时候,只需要改一处就能搞定呢? 3..../', app01_views.login, name="login"), ] 在views重定向直接写死路径名,而是通过reverse('属性名')反向查出前面的url,这样修改路径名就很方便了...下一节,我们将介绍Django下html页面模板语言DTL,感谢大家阅读~

    98241

    使用django-allauth管理用户登录与注册

    django-allauth 能实现以下核心功能: 用户注册 用户登录 退出登录 第三方auth登录(微信,微博等) 邮箱验证 修改邮箱 修改密码 忘记密码,登录邮箱发送密码重置链接 安装与配置 安装...', ) # 设置登录和注册成功重定向页面,默认是 "/accounts/profile/" LOGIN_REDIRECT_URL = "/accounts/profile/" 配置 django-allauth...,就会自动登录 ACCOUNT_LOGOUT_ON_PASSWORD_CHANGE (=False) 更改或设置密码是否自动退出 ACCOUNT_LOGIN_ON_PASSWORD_RESET (=False...) 更改为True,用户将在重置密码自动登录 ACCOUNT_SESSION_REMEMBER (=None) 控制会话生命周期,可选项还有: "False" 和 "True" ACCOUNT_SIGNUP_EMAIL_ENTER_TWICE...如果需要去掉邮件 "example.com",只需要在 admin后台 改下 "显示名称" 就可以了。

    6.8K30

    Django】 开发:补充知识

    有需要上网现查现学东西。 分页 分页是指在web页面有大量数据需要显示,为了阅读方便在每个页页只显示部分数据。 好处: 方便阅读 减少数据提取量,减轻服务器压力。...count:需要分类数据对象总数 :分页页面总数 :从1开始range对象, 用于记录当前面码数 每页数据个数 Paginator方法 page(number) 参数...auth扩展字段 如果需要在默认auth表上扩展新字段,如phone 添加新应用 定义模型类 继承 AbstractUser settings.py 指明 AUTH_USER_MODEL = ‘应用名...当开发结束,完善项目代码需要在一个高效稳定环境运行,这时可以使用 WSGI uWSGI 是 WSGI 一种,它实现了 http 协议 WSGI 协议 以及 uwsgi 协议 安装 uWSGI...执行该命令Django 将项目重所有静态文件 复制到 ,包括 Django 内建静态文件【如 admin 后台样式】 Nginx 配置添加新配置 # file : /etc/nginx

    6.4K30

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

    2.POST请求: POST请求一般是用来向服务器提交数据,会对服务器状态进行更改。比如提交一篇文章给服务器。 2. 限制请求装饰器 Django内置视图装饰器可以给视图提供一些限制。...页面重定向 重定向分为永久性重定向和暂时性重定向,在页面上体现操作就是浏览器会从一个页面自动跳转到另外一个页面。...暂时性重定向: http状态码是302,表示页面的暂时性跳转。比如访问一个需要权限网址,如果当前用户没有登录,应该重定向到登录页面,这种情况下,应该用暂时性重定向。...在Django重定向是使用redirect(to, *args, permanent=False, **kwargs)来实现。...5.HttpResponse对象 Django服务器接收到客户端发送过来请求,会将提交上来这些数据封装成一个HttpRequest对象传给视图函数。

    1.2K20

    接口测试平台代码实现12:用户管理系统后台代码-登录

    本节课提前美化了一下登陆页面,毕竟这是公司同事首次进入绕不开第一印象,打磨精致一点,会给人整个平台质量都很高赶脚。这里直接上优化代码和页面了: <!...加入alert('弹窗文案') 代码,来显示我们获取到对不对, 然后我们刷新页面,记住一定要刷新,否则你改动是生效。...获取前端给 俩个字符串:用户名和密码 调用django自带用户数据库,来验证这个用户是否存在并且密码正确 如果不正确,就随便给前端返回点什么,前端都会弹窗说报错文案 如果正确,就给用户进行重定向,定到首页...我们可以尝试一下,在浏览器随意输入用户名/密码,点击登陆,看看后端我们pycharm能否打印成功。保证服务启动。 点击登陆按钮,可以看到已经打印好了,这说明我们前端数据传输链路打通了。...再来写正确部分: 直接重定向/home/首页,我们前面讲过,HttpResponseRedirect函数是重定向浏览器链接。现在我们试试看吧! 刷新浏览器,确保服务运行

    1.3K20

    登录注册小案例实现(使用Djangoform表单来进行用户输入数据校验)

    之前对其进行校验都是直接在视图函数中使用if进行,确实可以,但是有B格吗?没有,所以咱那样干了这次!...其实,那样用最主要原因是:django中提供了一个form表单功能,这个表单可以用来验证数据合法性还可以用来生成HTML代码!!!...(1)纯理论来讲讲form表单: ①form表单引入: 登录页面和注册页面都会用到form表单来提交数据 当数据提交到后台后,需要在视图函数中去验证数据合法性. django中提供了一个form表单功能...,这个表单可以用来验证数据合法性还可以用来生成HTML代码 所以这个登录注册案例我们就来使用这个django自带form来生成前端页面以及验证数据. ②关于django form表单使用: 创建一个...,重新请求一下登录页面 else: # 获取到form表单具体错误格式信息!

    4.4K00
    领券