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

Posted tuobei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给自己项目添加注册登陆改密码邮箱找回密码等功能,出现大坑!相关的知识,希望对你有一定的参考价值。

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 = ‘xxxxxx@163.com‘  # 填写你的邮件地址,用这个地址给(密码丢失的用户的注册邮箱)发找回密码邮件。
EMAIL_HOST_PASSWORD = ‘yyyyyyy‘  # 邮箱的smtp授权码
EMAIL_PORT = 25
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

  

以上是关于给自己项目添加注册登陆改密码邮箱找回密码等功能,出现大坑!的主要内容,如果未能解决你的问题,请参考以下文章

三星s4邮箱帐号和密码怎么找回

请教大家一个问题,关于VUE登陆的用户名和密码的

企业邮箱怎么找回密码

vue添加用户密码邮箱重置修改删除v

人人网的账号怎么改密码

通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账