30、Django实战第30天:修改邮箱和用户信息

修改个人邮箱需要完成两个接口,一个是获取验证码,一个是新的邮箱和验证码是否匹配

1、编辑users.views.py

class SendEmailCodeView(LoginRequiredMixin, View):
    def get(self, request):
        email = request.GET.get(‘email‘, ‘‘)
        if UserProfile.objects.filter(email=email):
            return HttpResponse(‘{"email":"该邮箱已被注册"}‘, content_type=‘application/json‘)
        sendEmail(email, ‘hmail‘)
        return HttpResponse(‘{"status":"success"}‘, content_type=‘application/json‘)

2、编辑users.urls.py

from .views import SendEmailCodeView

urlpatterns = [
    ...
    url(r‘sendemail_code/$‘, SendEmailCodeView.as_view(), name=‘sendemail_code‘),
]

3、编辑utils.email_send.py

from random import Random
from django.core.mail import send_mail
from users.models import  EmailVerifyRecord
from mxonline.settings import EMAIL_FROM

def random_str(randomlenght=8):
    str = ‘‘
    chars = ‘AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789‘
    length = len(chars) - 1
    random = Random()
    for i in range(randomlenght):
        str += chars[random.randint(0, length)]
    return str

def sendEmail(email, send_type=‘register‘):
    email_record = EmailVerifyRecord()
    if send_type == ‘hmail‘:
        code = random_str(4)
    else:
        code = random_str(16)
    email_record.code = code
    email_record.email = email
    email_record.send_type = send_type
    email_record.save()

    if send_type == ‘register‘:
        email_title = ‘慕学在线网激活链接‘
        email_body = ‘请点击下面的链接激活你的账号:http://127.0.0.1:8000/active/{0}‘.format(code)

        send_status = send_mail(email_title, email_body, EMAIL_FROM, [email])
        if send_status:
            pass

    elif send_type == ‘forget‘:
        email_title = ‘慕学在线网重置密码连接‘
        email_body = ‘请点击下面的链接重置你的密码:http://127.0.0.1:8000/reset/{0}‘.format(code)

        send_status = send_mail(email_title, email_body, EMAIL_FROM, [email])
        if send_status:
            pass

    elif send_type == ‘hmail‘:
        email_title = ‘慕学在线网修改邮箱‘
        email_body = ‘您的邮箱验证为:{0}‘.format(code)
        send_status = send_mail(email_title, email_body, EMAIL_FROM, [email])
        if send_status:
            pass

4、编辑usercenter-base.html

5、编辑deco-user.js

原文地址:https://www.cnblogs.com/sellsa/p/8657695.html

时间: 2024-08-05 15:19:43

30、Django实战第30天:修改邮箱和用户信息的相关文章

Powershell管理系列(三十)PowerShell操作之统计邮箱的用户信息

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 用户需要统计邮箱用户的具体信息,如登陆名,邮箱地址,公司名,部门等,这些信息可以通过不通的命令查询到,我们如何通过脚本把这些信息汇总到一起,命令如下: 步骤1.在powershell命令行输入如下命令 Add-PSSnapin microsoft.exchange*$user=Get-User -ResultSize unlimi

【Android实战】实现新浪微博第三方登录获取用户信息

本来最开始研究的腾讯微博第三方登录,但腾讯微博的SDK太糟糕了,估计他们自己都放弃了.想想也是,除了腾讯自家的应用在用腾讯微博,其他的开发者基本不去碰这块.所以马上去研究微博老大去了,平台果然强大,代码和文档一大堆,研究了半天,找点自己需要的功能,还是有点收获,先把这些记录下来,以后再慢慢研究. 目前实现的是实现第三方的登录,获取用户名显示到第三方应用上面. 主类,用到了Afinal框架 public class WbMainAct extends FinalActivity { // @Vie

银行管理系统 实现用户注册 登录 存、取款 交易记录查询和修改用户信息等功能

========= 项    目   介   绍======== 银行账户管理系统 本项目主要实现用户注册 登录 存.取钱和修改用户信息功能. 用户信息的存储和获取通过集合和IO输入输出流实现. 存钱 取钱功能通过修改用户信息中的余额实现 修改用户信息 要先获取用户信息 ,再把修改后的信息保存到List中,同时必须删除原有的用户信息. ========项目功能需求============= 该银行管理系统可以实现 以下主要几个功能 用户注册   注册成功才能进行用户登录 用户登录  登录成功后

30天轻松学习javaweb_Eclipse在修改了web.xml后将自动更新到tomcat服务器中

context.xml中增加<WatchedResource>WEB-INF/web.xml</WatchedResource>,Eclipse在修改了web.xml后将自动更新到tomcat服务器中. <?xml version='1.0' encoding='utf-8'?> <Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF

Django实战之用户认证系统

详情请交流  QQ  709639943 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标准库.socket网络编程.多线程.多进程和协程. 00.Django实战之用户认证系统 00.Django实战之企业级博客 00.深入浅出Netty源码剖析 00.NIO+Netty5各种RPC架构实战演练 00.JMeter 深入进阶性能测试体系 各领域企业实战 00.30天搞定大数据爬虫项目 00.零基础实战机器学学习 00.企业级实战

Django实战之企业级博客

详情请交流  QQ  709639943 00.Python 从入门到精通 78节.2000多分钟.36小时的高质量.精品.1080P高清视频教程!包括标准库.socket网络编程.多线程.多进程和协程. 00.Django实战之用户认证系统 00.Django实战之企业级博客 00.深入浅出Netty源码剖析 00.NIO+Netty5各种RPC架构实战演练 00.JMeter 深入进阶性能测试体系 各领域企业实战 00.30天搞定大数据爬虫项目 00.零基础实战机器学学习 00.企业级实战

修改domino邮箱归属用户

 [背景] 今天一朋友问我,一个用户的名字注册错了,重新注册了一个新的账号,怎么把以前的邮箱跟新账号关联起来. [处理步骤] 将新用户添加到原邮箱数据库的ACL中,并设置成邮箱管理员,如图: Notes端打开邮箱数据库,点击工具-->管用选项-->此邮箱文件属于,点击更改按钮,如图 修改domino邮箱归属用户,布布扣,bubuko.com

django 实战 - eLeave Form (一)

需求: 实现请假单的电子审批 1. 支持国际化 2. 支持模型级别的访问记录 here we go: 这里会写一系列的文章,来记录我实战的过程,由于接触django没多久,难免有疏漏之处,望拍砖不要太重. django 实战 - eLeave Form (一)

【记录】GitHub/TortoiseGit 修改邮箱/提交者

我使用 Git 客户端工具是 TortoiseGit,在提交更新的时候,不知何时起会出现下面这种情况: 正常提交作者信息显示应该是: 本来也没怎么注意,但是在提交历史中,记录就不显示出来了,也就是在首页的提交记录中: 根据提示信息:“Unrecognized author. If this is you, make sure [email protected] is associated with your account. You can add emails in your account