新聞中心
Django框架下用戶注冊(cè)郵箱驗(yàn)證功能的實(shí)現(xiàn)
需要熟悉Django的MVT模型
需要用到celery + Redis
配置celery和redis:
import djcelery djcelery.setup_loader() BROKER_URL = \'redis://127.0.0.1:6379/2\'
然后在INSTALLED_APPS中注冊(cè)celery:
INSTALLED_APPS = ( \'django.contrib.admin\', \'django.contrib.auth\', \'django.contrib.contenttypes\', \'django.contrib.sessions\', \'django.contrib.messages\', \'django.contrib.staticfiles\', \'djcelery\', # 注冊(cè)djcelery )
配置服務(wù)端郵箱:
# 發(fā)送郵件配置 EMAIL_BACKEND = \'django.core.mail.backends.smtp.EmailBackend\' # smtp服務(wù)器地址 EMAIL_HOST = \'your email server address\' # smtp服務(wù)器端口號(hào) EMAIL_PORT = 25 # 發(fā)送郵件的郵箱 EMAIL_HOST_USER = \'your email address\' # 在郵箱中設(shè)置的客戶端授權(quán)密碼 EMAIL_HOST_PASSWORD = \'your email password\' # 你的郵箱密碼 # 收件人看到的發(fā)件人 EMAIL_FROM = \'projectname
在對(duì)應(yīng)app下新建并編寫(xiě)celery的task.py文件:
# 定義celery任務(wù) from celery import task from django.core.mail import send_mail from django.conf import settings @task def send_register_success_mail(username, password, email): \'\'\' 用戶注冊(cè)成功之后發(fā)送郵件任務(wù) \'\'\' msg = \'
歡迎您成為****會(huì)員
請(qǐng)您記好您的注冊(cè)信息:用戶名:\' + username + \'
密碼:\' + password send_mail(\'歡迎信息\', \'\', settings.EMAIL_FROM, [email, ], html_message=msg) views.py文件下的操作:
在views.py文件下導(dǎo)入send_register_success_mail方法:
from user.tasks import send_register_success_mail # 導(dǎo)入發(fā)送郵件任務(wù)方法 @require_POST def send_mail(self,username, password, email): \'\'\'以非阻塞的方式發(fā)送郵件\'\'\' send_register_success_mail.delay(username=username, password=password,email=email) redirect(\'/\') # 返回到網(wǎng)頁(yè)根目錄
發(fā)送郵件只需要調(diào)用send_mail方法即可。
本文名稱:Django框架下用戶注冊(cè)郵箱驗(yàn)證功能的實(shí)現(xiàn)
文章路徑:http://www.ef60e0e.cn/article/cgidop.html