【问题标题】:How to handle if a user forgets its username django如果用户忘记其用户名django如何处理
【发布时间】:2019-01-14 12:34:02
【问题描述】:

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

【问题讨论】:

标签: django django-users


【解决方案1】:

他有可能必须将他的电子邮件插入一个字段中,该字段的格式是GetUsername()

然后你发到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

【讨论】:

猜你喜欢
  • 2019-06-26
  • 1970-01-01
  • 2016-05-13
  • 2018-05-10
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 2011-10-26
  • 1970-01-01
相关资源
最近更新 更多