给自己项目添加注册、登陆、改密码、邮箱找回密码等功能,出现大坑!

1、使用django验证框架的登陆、注销功能,必须settings设置如下:

LOGIN_REDIRECT_URL = ‘shop:product_list‘
LOGOUT_REDIRECT_URL = ‘shop:product_list‘
LOGIN_URL = ‘shop:login‘
LOGOUT_URL = ‘shop:logout‘

LOGIN_REDIRECT_URL = ‘shop:product_list‘-----------登录成功后,转到哪个页面的url,在此设置。

LOGIN_URL = ‘shop:login‘-------------是用户重定向后实现登陆的url

2、修改密码、重置密码,如果想借用django自带框架,

path(‘password_change/‘,
         auth_views.PasswordChangeView.as_view(
            template_name=‘shop/password_change_form.html‘,
            success_url="/password_change/done/",
         ), name=‘password_change‘),template_name必须重写为新的地址,success_url为下个path的url路径地址。
# _*_coding:utf-8_*_
# Author : rabbit
# Time   : 2020/3/15 22:43
# File   : urls.py
# IDE    : PyCharm

from django.urls import path
from django.contrib.auth import views as auth_views
from . import views

app_name = ‘shop‘

urlpatterns = [
    path(‘login/‘, auth_views.LoginView.as_view(), name=‘login‘),
    path(‘logout/‘, auth_views.LogoutView.as_view(), name=‘logout‘),
    path(‘‘, views.product_list, name=‘product_list‘),
    # change password urls
    path(‘password_change/‘,
         auth_views.PasswordChangeView.as_view(
            template_name=‘shop/password_change_form.html‘,
            success_url="/password_change/done/",
         ), name=‘password_change‘),
    path(‘password_change/done/‘,
         auth_views.PasswordChangeDoneView.as_view(
            template_name=‘shop/password_change_done.html‘
         ), name=‘password_change_done‘),
    # reset password urls
    path(‘password-reset/‘,
         auth_views.PasswordResetView.as_view(
             template_name="shop/password_reset_form.html",
             email_template_name="shop/password_reset_email.html",
             subject_template_name="shop/password_reset_subject.txt",
             success_url="/password-reset-done/",
         ),
         name=‘password_reset‘),
    path(‘password-reset-done/‘,
         auth_views.PasswordResetDoneView.as_view(
             template_name="shop/password_reset_done.html"
         ),
         name=‘password_reset_done‘),
    path(‘password-reset-confirm/<uidb64>/<token>/‘,
         auth_views.PasswordResetConfirmView.as_view(
             template_name="shop/password_reset_confirm.html",
             success_url="/password-reset-complete/",
         ),
         name=‘password_reset_confirm‘),
    path(‘password-reset-complete/‘,
         auth_views.PasswordResetCompleteView.as_view(
             template_name="shop/password_reset_complete.html"
         ),
         name=‘password_reset_complete‘),
    path(‘register/‘, views.register, name=‘register‘),
    path(‘<slug:category_slug>/‘, views.product_list, name=‘product_list_by_category‘),
    path(‘<int:id>/<slug:slug>/‘, views.product_detail, name=‘product_detail‘),
]

3、邮箱找回密码,必须settings添加如下代码:

EMAIL_HOST = ‘smtp.163.com‘
EMAIL_HOST_USER = ‘[email protected]‘  # 填写你的邮件地址,用这个地址给(密码丢失的用户的注册邮箱)发找回密码邮件。
EMAIL_HOST_PASSWORD = ‘yyyyyyy‘  # 邮箱的smtp授权码
EMAIL_PORT = 25
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

  

原文地址:https://www.cnblogs.com/tuobei/p/12507748.html

时间: 2024-08-24 18:48:43

给自己项目添加注册、登陆、改密码、邮箱找回密码等功能,出现大坑!的相关文章

php通过邮箱找回密码

很久没有写过博客了,现在我要重新开始记录,工作中遇到的一些问题,并将其记录下来最为经验的积累. --------------------回归正题----------------------- 很多网站,只要有用户注册,就必然会遇到用户登陆时忘记密码的情况,常用的找回密码的方式有两种,一种是通过发送短信验证码,另一种是通过发送连接到邮箱,打开连接通过验证后跳转到重置密码界面. 短信认证的方法,之前写过一篇jsp版本的.通过短信找回密码. 思路十分简单,通过随机生成6位字符验证码,然后将其写入数据库

AspNetCore-MVC实战系列(二)之通过绑定邮箱找回密码

AspNetCore - MVC实战系列目录 . 爱留图网站诞生 . AspNetCore - MVC实战系列(一)之Sqlserver表映射实体模型 . AspNetCore-MVC实战系列(二)之通过绑定邮箱找回密码 开篇唠嗑 本篇内容写在5.1假期前夕,主要是让大家能在节假日休息充点的时候能有好的干货例子,到目前为止netcore方面的实战例子分享即将进入正轨,谢谢各位朋友多多支持:最近工作安排的新项目即将开始,项目前期就我一人搭建,让我犹豫的是对于公司这个内部系统并且是初建的项目用什么开

Java实现邮箱找回密码

[来源网络:http://www.cnblogs.com/zyw-205520/p/3738439.html] 通过邮件找回密码功能的实现 1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密码. 2.参考别人的思路:发送邮件→请求邮件里的URL→验证url→{验证成功修改密码,不成功跳转到失败页面} 重点就是如何生成这个url和如何解析这个url.

Java实现邮箱找回密码 --转载

通过邮件找回密码功能的实现 1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的功能我就不说了,重点讲找回密码. 2.参考别人的思路:发送邮件→请求邮件里的URL→验证url→{验证成功修改密码,不成功跳转到失败页面} 重点就是如何生成这个url和如何解析这个url. 需要注意的是一个url只能修改一次密码,当同一帐号发送多封邮件,只有最后一封邮件的url 邮箱 3.加密能防止

laravel5.5 自带的忘记密码邮箱找回功能小记

前沿: 看了半天登录注册,然后是这个忘记密码,有点头晕,只能说确实很菜. 1. 执行php artisan route:list 查看当前所有路由,可以发现点击忘记密码时候执行的是ForgotPasswordController控制器中的showLinkRequestForm方法,打开了对应视图. 2. 输入邮箱后点击发送邮件,执行的是ForgotPasswordController控制器中的sendResetLinkEmail方法, 控制器很干净,那方法应该是在引用的trait中了,打开Sen

java web实现 忘记密码(找回密码)功能及代码

(一).总体思路 (二).部分截图 (三).部分代码 (一).总体思路: 1.在 找回密码页面 录入 姓名.邮箱和验证码,录入后点击[提交]按钮,此时发送一封邮件,邮件中带有加密后的链接. 2.点开 邮件中链接,解密并判断链接是否有效,验证通过后 到 修改密码页面. 3.在修改页面中 录入新密码, 点击[修改按钮]修改密码,操作完成. (二).部分截图: (三).部分代码: 代码1(对应上面总体思路1):此处关键是 生成加密链接,而且此链接 参数需要在浏览器中get方式传递,不能支持“+”,"/

简述邮箱找回密码功能

1. 在登录页面给个链接,在找回密码界面可以输入邮箱地址和验证码,验证码是为了防止恶意找回: 2. 后台,首先判断验证码是否正确,再判断该邮箱是否注册过用户; 3. 如果该邮箱存在,检索出该用户信息; 4. 如果你的密码没有MD5加密的话,可以直接查询出密码,如果MD5加密了,只能重新生成一个密码,并修改该用户: 5. 将新生成的密码发送到用户邮箱里,用JavaMail发送邮件;

mysql修改密码、找回密码

已root用户为例 一.修改密码 方法一: 在mysql系统外,使用mysqladmin # mysqladmin -u root -p password "test123" Enter password: [输入原来的密码] 方法二: 通过登录mysql系统, # mysql -uroot -p Enter password: [输入原来的密码] mysql>use mysql; mysql> update user set password=passworD("

[py][mx]django通过邮箱找回密码

忘记密码处理流程 直接上代码 class ActiveView(View): # 主要功能是修改user_profile里的is_active字段为1 def get(self, request, active_code): all_reocrds = EmailVerifyRecord.objects.filter(code=active_code) if all_reocrds: for record in all_reocrds: email = record.email user = U