Maison développement back-end Tutoriel Python Exemple de développement Django de récupération de mot de passe oublié via email_python

Exemple de développement Django de récupération de mot de passe oublié via email_python

Apr 17, 2018 am 11:46 AM
django 密码 passer

这篇文章主要介绍了django 开发忘记密码通过邮箱找回功能示例,现在分享给大家,也给大家做个参考。一起过来看看吧

一、流程分析:

1.点击忘记密码====》forget.html页面,输入邮箱和验证码,发送验证链接网址的邮件====》发送成功,跳到send_success.html提示

2.到邮箱里找到验证链接网址,访问重设密码网址reset.html===》重设密码提交数据,成功则返回首页,失败则返回错误信息

二、

1.users/forms.py文件中

from django import forms
from captcha.fields import CaptchaField


.......

#forget.html中,用于验证邮箱格式和验证码
class ForgetForm(forms.Form):
  email=forms.EmailField(required=True)
  captcha=CaptchaField(error_messages={'invalid':'验证码错误'})

#reset.html中,用于验证新设的密码长度是否达标
class ResetForm(forms.Form):
  newpwd1=forms.CharField(required=True,min_length=6,error_messages={'required': '密码不能为空.', 'min_length': "至少6位"})
  newpwd2 = forms.CharField(required=True, min_length=6, error_messages={'required': '密码不能为空.', 'min_length': "至少6位"})
Copier après la connexion

2.users/views.py中相关代码:

......
from django.shortcuts import render,redirect
from django.http import HttpResponse
from users.form import ForgetForm,ResetForm
from .models import UserProfile
from django.contrib.auth.hashers import make_password
from apps.utils.email_send import send_register_email
from .models import EmailVerifyRecord

......

class ForgetPwdView(View):
  '''忘记密码'''
  def get(self,request):
    forget_form=ForgetForm()
    return render(request,'forget.html',{'forget_form':forget_form})
  def post(self,request):
    forget_form = ForgetForm(request.POST)
    if forget_form.is_valid():
      email=request.POST.get('email','')
      send_register_email(email,'forget')
      return render(request,'send_success.html')
    else:
      return render(request,'forget.html',{'forget_form':forget_form})


class ResetView(View):
  '''重置密码'''
  def get(self,request,active_code):
    record=EmailVerifyRecord.objects.filter(code=active_code)
    print(record)
    if record:
      for i in record:
        email=i.email
        is_register=UserProfile.objects.filter(email=email)
        if is_register:
          return render(request,'pwd_reset.html',{'email':email})
    return redirect('index')


#因为<form>表单中的路径要是确定的,所以post函数另外定义一个类来完成
class ModifyView(View):
  """重置密码post部分"""
  def post(self,request):
    reset_form=ResetForm(request.POST)
    if reset_form.is_valid():
      pwd1=request.POST.get(&#39;newpwd1&#39;,&#39;&#39;)
      pwd2=request.POST.get(&#39;newpwd2&#39;,&#39;&#39;)
      email=request.POST.get(&#39;email&#39;,&#39;&#39;)
      if pwd1!=pwd2:
        return render(request,&#39;pwd_reset.html&#39;,{&#39;msg&#39;:&#39;密码不一致!&#39;})
      else:
        user=UserProfile.objects.get(email=email)
        user.password=make_password(pwd2)
        user.save()
        return redirect(&#39;index&#39;)
    else:
      email=request.POST.get(&#39;email&#39;,&#39;&#39;)
      return render(request,&#39;pwd_reset.html&#39;,{&#39;msg&#39;:reset_form.errors})
Copier après la connexion

3.新建forget.html, success_send.html, pwd_reset.html

#forget.html

<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>忘记密码</title>

<style>
.out{
  width: 500px;
  height: 900px;
  margin: 0 auto;
  margin-top: 100px;
}
</style>
</head>
<body>


  <p class="out">
    <h1>真粗心,忘了密码吧?快通过邮箱找回密码吧!</h1>
    <form method="post" action="{% url &#39;forget_pwd&#39; %}">
      <P><span>邮箱:</span><input type="text" name="email"></P>
      <P><span>验证码:</span>{{ forget_form.captcha }}</P>
      {% csrf_token %}
      <p><input type="submit" value="确认发送验证邮件"></p>
    </form>
    <h1>{{ forget_form.errors }}</h1>
  </p>


</body>
</html>
Copier après la connexion

#success_send.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<h1>发送邮件成功,快去邮箱查看吧!(收件箱没有,垃圾箱一定有……)</h1>
</body>
</html>
Copier après la connexion

#pwd_reset.html

<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>重置密码</title>

<style>
.out{
  width: 500px;
  height: 900px;
  margin: 0 auto;
  margin-top: 100px;
}
</style>
</head>
<body>


  <p class="out">
    <h1>可以重新设置一个好记的新密码啦!</h1>
    <form method="post" action="{% url &#39;modify&#39; %}">
      <P><span>新密码:</span><input type="password" name="newpwd1" placeholder="至少6位"></P>
      <P><span>确认新密码:</span><input type="password" name="newpwd2" placeholder="至少6位"></P>
      {% csrf_token %}
      <input type="hidden" name="email" value="{{ email }}">
      <p><input type="submit" value="确认"></p>
    </form>
    <h1>{{ msg }}</h1>
  </p>

</body>
</html>
Copier après la connexion

4.配置相关的urls.py:

from users.views import ForgetPwdView,ResetView,ModifyView

......

urlpatterns = [
  .....

  #忘记密码
  path(&#39;forget/&#39;,ForgetPwdView.as_view(),name=&#39;forget_pwd&#39;),
  #重置密码
  path(&#39;reset/<str:active_code>&#39;,ResetView.as_view(),name=&#39;reset&#39;),
  path(&#39;modify/&#39;,ModifyView.as_view(),name=&#39;modify&#39;),


  ......
]
Copier après la connexion

运行项目,点击 忘记密码 链接(忘记密码),就可以完成通过邮箱找回密码的功能啦!

5.send_register_email()方法及其配置 详见上一篇文章

相关推荐:

django 通过ajax完成邮箱用户注册、激活账号的方法

详解Django之auth模块(用户认证)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème selon lequel Windows 11 vous demande de saisir le nom d'utilisateur et le mot de passe de l'administrateur pour continuer ? Comment résoudre le problème selon lequel Windows 11 vous demande de saisir le nom d'utilisateur et le mot de passe de l'administrateur pour continuer ? Apr 11, 2024 am 09:10 AM

Lorsque vous utilisez le système Win11, vous rencontrerez parfois une invite vous demandant de saisir le nom d'utilisateur et le mot de passe de l'administrateur. Cet article explique comment gérer cette situation. Méthode 1 : 1. Cliquez sur [Logo Windows], puis appuyez sur [Maj+Redémarrer] pour passer en mode sans échec ou entrez en mode sans échec de cette façon : cliquez sur le menu Démarrer et sélectionnez Paramètres ; Sélectionnez « Mise à jour et sécurité » ; sélectionnez « Redémarrer maintenant » dans « Récupération » après avoir redémarré et saisi les options, sélectionnez - Dépannage - Options avancées - Paramètres de démarrage -&mdash.

Comment définir le mot de passe WiFi du routeur à l'aide d'un téléphone mobile (en utilisant le téléphone mobile comme outil) Comment définir le mot de passe WiFi du routeur à l'aide d'un téléphone mobile (en utilisant le téléphone mobile comme outil) Apr 24, 2024 pm 06:04 PM

Les réseaux sans fil sont devenus un élément indispensable de la vie des gens dans le monde numérique d'aujourd'hui. Il est toutefois particulièrement important de protéger la sécurité des réseaux sans fil personnels. Définir un mot de passe fort est essentiel pour garantir que votre réseau WiFi ne puisse pas être piraté par d'autres. Pour assurer la sécurité de votre réseau, cet article vous présentera en détail comment utiliser votre téléphone mobile pour modifier le mot de passe WiFi du routeur. 1. Ouvrez la page de gestion du routeur - Ouvrez la page de gestion du routeur dans le navigateur mobile et saisissez l'adresse IP par défaut du routeur. 2. Entrez le nom d'utilisateur et le mot de passe de l'administrateur - Pour y accéder, entrez le nom d'utilisateur et le mot de passe de l'administrateur corrects dans la page de connexion. 3. Accédez à la page des paramètres sans fil – recherchez et cliquez pour accéder à la page des paramètres sans fil, dans la page de gestion du routeur. 4. Trouvez le Wi-Fi actuel

Comment utiliser Passkey pour votre compte Microsoft Comment utiliser Passkey pour votre compte Microsoft Feb 19, 2024 am 11:03 AM

Passkey est un moyen de connexion plus avancé et plus sécurisé et peut être utilisé avec un compte Microsoft. Cet article vous expliquera comment utiliser Passkey dans votre compte Microsoft, vous présentera ses avantages et les différences avec les mots de passe. Avant d'entrer dans les détails, nous soulignons que si vous oubliez fréquemment vos mots de passe ou si vous devez vous connecter rapidement, Passkey sera généralement mieux pour vous. Qu'est-ce que le mot de passe ? En quoi sont-ils différents des mots de passe ? Les mots de passe constituent une méthode d'authentification avancée et sécurisée qui peut remplacer les connexions par mot de passe traditionnelles. Chaque application possède une clé unique, garantissant la sécurité et empêchant les menaces telles que le phishing. Les utilisateurs peuvent confirmer leur identité par e-mail et mot de passe, ou utiliser la reconnaissance faciale, l'empreinte digitale ou la clé de sécurité.

Mot de passe incorrect, méfiez-vous de l'avertissement BitLocker Mot de passe incorrect, méfiez-vous de l'avertissement BitLocker Mar 26, 2024 am 09:41 AM

Cet article explique comment résoudre le problème des mots de passe erronés, en particulier la nécessité d'être prudent lors du traitement des avertissements BitLocker. Cet avertissement est déclenché lorsqu'un mot de passe incorrect est saisi plusieurs fois dans BitLocker pour déverrouiller le lecteur. Habituellement, cet avertissement se produit car le système dispose d'une politique qui limite les tentatives de connexion incorrectes (généralement trois tentatives de connexion sont autorisées). Dans ce cas, l'utilisateur recevra un message d'avertissement approprié. Le message d'avertissement complet est le suivant : Le mot de passe saisi est incorrect. Veuillez noter que la saisie continue de mots de passe incorrects entraînera le verrouillage du compte afin de protéger la sécurité de vos données. Si vous devez déverrouiller votre compte, vous devrez utiliser une clé de récupération BitLocker. Le mot de passe est incorrect, méfiez-vous de l'avertissement BitLocker que vous recevez lorsque vous vous connectez à votre ordinateur

Tutoriel pour changer le mot de passe wifi sur téléphone mobile (opération simple) Tutoriel pour changer le mot de passe wifi sur téléphone mobile (opération simple) Apr 26, 2024 pm 06:25 PM

Les réseaux sans fil sont devenus un élément indispensable de nos vies avec le développement rapide d'Internet. Afin de protéger les informations personnelles et la sécurité du réseau, il est cependant très important de changer régulièrement votre mot de passe wifi. Pour vous aider à mieux protéger la sécurité de votre réseau domestique, cet article vous présentera un tutoriel détaillé sur la façon d'utiliser votre téléphone mobile pour changer votre mot de passe WiFi. 1. Comprenez l'importance des mots de passe Wi-Fi. Les mots de passe Wi-Fi constituent la première ligne de défense pour protéger les informations personnelles et la sécurité du réseau. À l'ère d'Internet, comprendre son importance permet de mieux comprendre pourquoi vous devez changer régulièrement votre mot de passe. 2. Confirmez que le téléphone est connecté au wifi. Tout d'abord, assurez-vous que le téléphone est connecté au réseau wifi dont vous souhaitez modifier le mot de passe avant de modifier le mot de passe wifi. 3. Ouvrez le menu des paramètres du téléphone et accédez au menu des paramètres du téléphone.

Que dois-je faire si mon mot de passe Win10 ne répond pas aux exigences de la politique de mot de passe ? Que faire si le mot de passe de mon ordinateur ne répond pas aux exigences de la politique ? Que dois-je faire si mon mot de passe Win10 ne répond pas aux exigences de la politique de mot de passe ? Que faire si le mot de passe de mon ordinateur ne répond pas aux exigences de la politique ? Jun 25, 2024 pm 04:59 PM

Dans le système Windows 10, la politique de mot de passe est un ensemble de règles de sécurité visant à garantir que les mots de passe définis par les utilisateurs répondent à certaines exigences de force et de complexité. Si le système vous indique que votre mot de passe ne répond pas aux exigences de la politique de mot de passe, cela signifie généralement que votre mot de passe est défini. Le mot de passe ne répond pas aux exigences définies par les normes Microsoft en matière de complexité, de longueur ou de types de caractères, alors comment éviter cela ? Les utilisateurs peuvent trouver directement la politique de mot de passe sous la politique de l'ordinateur local pour effectuer des opérations. Jetons un coup d'œil ci-dessous. Solutions qui ne sont pas conformes aux spécifications de la politique de mot de passe : Modifier la longueur du mot de passe : Selon les exigences de la politique de mot de passe, nous pouvons essayer d'augmenter la longueur du mot de passe, par exemple en changeant le mot de passe d'origine à 6 chiffres en 8 chiffres ou plus. Ajoutez des caractères spéciaux : les politiques de mot de passe nécessitent souvent l'inclusion de caractères spéciaux tels que @, #, $, etc. je

Comment accéder au système si vous oubliez le mot de passe de mise sous tension de votre ordinateur Win10_Que faire si vous oubliez le mot de passe de mise sous tension de votre ordinateur Win10 Comment accéder au système si vous oubliez le mot de passe de mise sous tension de votre ordinateur Win10_Que faire si vous oubliez le mot de passe de mise sous tension de votre ordinateur Win10 Mar 28, 2024 pm 02:35 PM

1. Téléchargez et installez l'outil de réinstallation du système en un clic de Xiaobai sur un autre ordinateur, insérez un disque USB vide pour créer un disque de démarrage USB. Pour des didacticiels spécifiques, veuillez vous référer à : 2. Insérez le disque de démarrage USB dans l'ordinateur à modifier. le mot de passe pour redémarrer et appuyez sur la touche de raccourci Démarrer. Généralement, la touche de raccourci de démarrage est l'une des touches F12, F8, F9, F10 et ESC. Ensuite, l'interface de démarrage apparaît, sélectionnez l'option du disque USB et appuyez sur Entrée pour entrer. 3. Sélectionnez [1] pour démarrer win10x64PE et appuyez sur Entrée pour confirmer. 4. Sélectionnez l'outil de modification de mot de passe sur le bureau et double-cliquez pour l'ouvrir. 5. Ensuite, une liste de noms de comptes apparaît, sélectionnez le compte dont vous devez modifier le mot de passe et ouvrez-le. 6. Cliquez sur la commande Modifier le mot de passe ci-dessous, saisissez deux fois le nouveau mot de passe, puis cliquez sur OK pour enregistrer les modifications. 7. Enfin, débranchez la clé USB et redémarrez l'ordinateur. Tout sera alors normal.

Comment déverrouiller un iPhone si vous avez oublié le mot de passe Comment déverrouiller un iPhone si vous avez oublié le mot de passe Feb 19, 2024 am 09:33 AM

Comment déverrouiller l'iPhone si vous oubliez le mot de passe Dans la société moderne, les téléphones mobiles sont devenus un élément indispensable de nos vies. Parmi les téléphones mobiles, les téléphones mobiles Apple sont choisis et approuvés par la majorité des utilisateurs en raison de leur stabilité et de leur sécurité. Cependant, nous rencontrons parfois également des problèmes, comme l'oubli du mot de passe iPhone que nous avons défini. Comment déverrouiller votre téléphone Apple si vous oubliez votre mot de passe ? Ci-dessous, nous aborderons plusieurs méthodes de déverrouillage courantes. La première méthode consiste à le déverrouiller via la fonction « Récupérer le mot de passe du téléphone ». Tout d’abord, nous voulons nous assurer que le téléphone est connecté à Internet. Alors,

See all articles