django框架下用户注册邮箱验证功能的实现
需要熟悉django的mvt模型需要用到celery+redis
配置celery和redis:
importdjcelerydjcelery.setup_loader()broker_url='redis://127.0.0.1:6379/2'
然后在installed_apps中注册celery:
installed_apps=('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','djcelery',#注册djcelery)
配置服务端邮箱:
#发送邮件配置email_backend='django.core.mail.backends.smtp.emailbackend'#smtp服务器地址email_host='youremailserveraddress'#smtp服务器端口号email_port=25#发送邮件的邮箱email_host_user='youremailaddress'#在邮箱中设置的客户端授权密码email_host_password='youremailpassword'#你的邮箱密码#收件人看到的发件人email_from='projectname
在对应app下新建并编写celery的task.py文件:
#定义celery任务fromceleryimporttaskfromdjango.core.mailimportsend_mailfromdjango.confimportsettings@taskdefsend_register_success_mail(username,password,email):'''用户注册成功之后发送邮件任务'''msg='
在views.py文件下导入send_register_success_mail方法:
fromuser.tasksimportsend_register_success_mail#导入发送邮件任务方法@require_postdefsend_mail(self,username,password,email):'''以非阻塞的方式发送邮件'''send_register_success_mail.delay(username=username,password=password,email=email)redirect('/')#返回到网页根目录