用户忘记用户名django时如何处理

时间:2018-08-07 12:08:02

标签: django django-users

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

1 个答案:

答案 0 :(得分: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