注册逻辑二 发送激活链接
来源:互联网 发布:网络信息安全要学什么 编辑:程序博客网 时间:2024/06/05 08:43
一、保所填数据:
from django.contrib.auth.hashers import make_password def post(self, request): register_form = RegisterForm(request.POST) if register_form.is_valid(): user_name = request.POST.get("email", "") if UserProfile.objects.filter(email=user_name): return render(request, 'register.html', {"register_form":register_form, "msg":"用户已存在"}) pass_word = request.POST.get("password", "") user_profile = UserProfile() user_profile.username = user_name user_profile.is_active = False user_profile.email = user_name user_profile.password = make_password(pass_word) user_profile.save()
二、新建util包,在其中建.py文件:
from random import Randomfrom users.models import EmailVerifyRecordfrom django.core.mail import send_mailfrom hacco.settings import EMAIL_FROMdef random_str(randomlength=8): str = '' chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789' length = len(chars)-1 random = Random() for i in range(randomlength): str+=chars[random.randint(0,length)] return strdef send_register_email(email, send_type="register"): email_record = EmailVerifyRecord() code = random_str(16) email_record.code = code email_record.email = email email_record.send_type = send_type email_record.save() email_title = "" email_body = "" 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
三、setting.py写入:
EMAIL_HOST = ‘smtp.tom.com’
EMAIL_PORT = 25
EMAIL_HOST_USER = ‘xixi_hu@tom.com’
EMAIL_HOST_PASSWORD = ‘11111111’
EMAIL_USE_TLS = False
EMAIL_FROM = ‘xixi_hu@tom.com’
四、views.py继续填写
send_register_email(user_name, 'register') return render(request, 'login.html')
五、urls.py 添加:
from users.views import ActiveUserView url(r'^active/(?P<active_code>.*)/$',ActiveUserView.as_view(), name="user_active")
六、views.py写入:
class ActiveUserView(View): def get(self, request, active_code): all_records = EmailVerifyRecord.objects.filter(code=active_code) if all_records: for record in all_records: email = record.email user = UserProfile.objects.get(email=email) user.is_active = True user.save() else: return render(request, 'active_fail.html') return render(request, 'login.html')
if user.is_active: login(request, user) return render(request, "index.html") else: return render(request, 'login.html', {'msg': '用户未激活!'})
阅读全文
0 0
- 注册逻辑二 发送激活链接
- 注册发送激活邮件
- 用户注册后,通过网站发送到邮箱中的激活链接激活用户 java
- 用户注册后,通过网站发送到邮箱中的激活链接激活用户 java
- asp.net 实现邮箱验证(注册的时候发送邮件激活链接的那种)
- asp.net实现一个用户进行注册的时候同时发送一个邮件到注册人的邮箱,通过发送的邮箱链接来激活该帐号
- asp.net实现一个用户进行注册的时候同时发送一个邮件到注册人的邮箱,通过发送的邮箱链接来激活该帐号
- .NET实现注册发送邮件激活账户
- 网上商城之用户注册发送邮件激活
- javaMail发送邮件激活注册用户
- java 实现注册时发送激活邮件+激活
- java 实现注册时发送激活邮件+激活
- java 实现注册时发送激活邮件并激活
- java 实现注册时发送激活邮件+激活
- ASP.NET MVC通过发送邮件激活注册用户
- 使用PHP发送电子邮件(注册时的激活)
- 注册页面完成。自动给所有邮箱发送激活邮件
- android开发学习——注册时发送激活码
- Android GPS室内定位问题的解决方法(location为null)
- Erlang学习笔记(七)二进制型与位语法
- NLTK03 《Python自然语言处理》code02 获得文本语料和词汇资源
- UGUI 学习笔记 1 图集
- Java序列化的几种特殊情景
- 注册逻辑二 发送激活链接
- Ajax的一点用法
- okhttp网络框架源码分析
- CArchive和CFile用法笔记
- @repository注解
- Linux下JDK到底应该安装在哪儿
- DLL-动态链接库(导入导出符/调用约定)
- cocos2d-x-2.2.6子类随父类透明度变化而变化setCascadeOpacityEnabled(true)
- JavaWeb项目配置Hibernate