如果用户忘记了用户名 django 如何处理

How to handle if a user forgets its username django

有没有办法实现一种方法,如果用户忘记了用户名(因为它用于登录),他可以通过电子邮件获取它? 我已经看到了重置密码的方法,但我不希望用户重置其用户名,而只能通过电子邮件获取。

好吧,他有可能必须将他的电子邮件插入到一个字段中,该字段的格式会导致 GetUsername()

然后你post到一个GetUsername()

def GetUsername(request):
   user = User.objects.get(email=request.POST['email'])
   print(user.get_username())
   text = 'Hello, %s \n your username is %s'.format(user.first_name, user.get_username())
   html =  '<h3>Hello, %s<h/3><br><p> your username is %s<p>'.format(user.first_name, user.get_username())
   SendEmail(text, html, 'Reminding your username', user.email)

如果您有 SMTP 服务器,您可以像这样发送电子邮件

def SendEmail(text, html, subject, to):
    email = MIMEMultipart('alternative')    
    email["Subject"] = ENV + subject
    email["From"] = 'noreply@yourdomain.com'

    email["To"] = to

    part1 = MIMEText(text, 'plain')#plain text
    part2 = MIMEText(html, 'html')#htmp style text
    email.attach(part1)
    email.attach(part2)
    s = smtplib.SMTP('192.168.2.1:25')#this is your server SMTP
    s.send_message(email)
    s.quit()

如果您自己没有 SMTP 服务器,您可以使用 gmail

you can check the reference here