django注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn)
視圖代碼
lis = []#設(shè)置一個(gè)空列表用來存放發(fā)送的驗(yàn)證碼,用來驗(yàn)證
def yzm1():
res1 = ""
for i in range(4):#用四個(gè)隨機(jī)數(shù)組成驗(yàn)證碼
num = random.randint(0, 9)
res1 += str(num)
lis.append(res1)#將驗(yàn)證碼放入空的列表中
return res1#返回驗(yàn)證碼
class zc(View):
def get(self, request):
return render(request, 'zc.html', locals())
def post(self, request):
name = request.POST['qq']#獲取前端傳遞進(jìn)來的數(shù)據(jù)
subject = '驗(yàn)證碼'
message = vercode()#獲取驗(yàn)證碼
form = '837620306@qq.com'#獲取發(fā)送驗(yàn)證碼的郵箱
# EMAIL_HOST_USER
rcipient_list = [name]
res = send_mail(subject=subject, message=message, from_email=form, recipient_list=rcipient_list)#發(fā)送驗(yàn)證碼返貨真或假,假代表沒有發(fā)送成功
if res == 1:#判斷是否發(fā)送成功
return redirect('/app01/yzm/')#成功的話跳轉(zhuǎn)到驗(yàn)證的網(wǎng)頁
else:#不成功的話返回注冊(cè)界面
return render(request, 'zc.html', locals())
def yzm2(request):
if request.method == 'GET':
return render(request, 'yzm.html', locals())
elif request.method == 'POST':
a = request.POST['much']#獲取到用戶輸入的驗(yàn)證碼
if a == lis[-1]:#取最新的驗(yàn)證碼
return HttpResponse('驗(yàn)證碼正確')
else:
return HttpResponse('no')
用來發(fā)送驗(yàn)證碼的郵箱需要打開POP3/SMTP服務(wù)和IMAP/SMTP服務(wù),并且獲得POP3/SMTP服務(wù)的授權(quán)碼
settings 配置文件
另外需要對(duì)django的settings文件進(jìn)行設(shè)置
# 設(shè)置發(fā)送郵件服務(wù)器:smtp.qq.com, EMAIL_HOST = 'smtp.qq.com' # 設(shè)置端口號(hào),如果使用的是SSL,端口號(hào)為465或587 EMAIL_PORT = 25 #設(shè)置發(fā)件人郵箱 EMAIL_HOST_USER = 'xxxxx' # 設(shè)置發(fā)件人 授權(quán)碼 (POP3/SMTP服務(wù)的授權(quán)碼) EMAIL_HOST_PASSWORD = 'xxxxx' # 設(shè)置是否啟用安全鏈接 EMAIL_USER_TLS = True
到此這篇關(guān)于django注冊(cè)用郵箱發(fā)送驗(yàn)證碼的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)django 郵箱驗(yàn)證碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python調(diào)用攝像頭拍攝數(shù)據(jù)集
這篇文章主要為大家詳細(xì)介紹了Python調(diào)用攝像頭拍攝數(shù)據(jù)集,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
pycharm2022沒有manage repositories配置鏡像源的解決方法
本文主要介紹了pycharm2022沒有manage repositories配置鏡像源的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
對(duì)Python 窗體(tkinter)樹狀數(shù)據(jù)(Treeview)詳解
今天小編就為大家分享一篇對(duì)Python 窗體(tkinter)樹狀數(shù)據(jù)(Treeview)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10
Pandas 合并多個(gè)Dataframe(merge,concat)的方法
今天小編就為大家分享一篇Pandas 合并多個(gè)Dataframe(merge,concat)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python Django里CSRF 對(duì)應(yīng)策略詳解
這篇文章主要介紹了python Django里CSRF 對(duì)應(yīng)策略詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python還能這么玩之只用30行代碼從excel提取個(gè)人值班表
公司實(shí)行項(xiàng)目值班制度,拿到值班表,看到全部的值班信息,要去查找自己的值班信息,是一件頭痛的事情.作為程序員,當(dāng)然要簡化,將自己的信息提煉出來,需要的朋友可以參考下2021-06-06

