Django如何實(shí)現(xiàn)網(wǎng)站注冊(cè)用戶郵箱驗(yàn)證功能
我們?cè)诤芏嗑W(wǎng)站上都可以看到用戶注冊(cè)使用電子郵件激活或啟用的方式。也就是說,用戶在注冊(cè)后填寫正確的電子郵件地址,接著網(wǎng)站會(huì)發(fā)送一封啟用電子郵件到用戶設(shè)置的電子郵件的郵箱中,并在郵件中提供一個(gè)激活或啟用的鏈接,在用戶單擊此鏈接后,賬號(hào)正式激活或啟用。
這里我們使用 Django 的 django-registration 模塊可以快速實(shí)現(xiàn)這一過程。
1. django-registration 安裝與設(shè)置
使用 pip 安裝:
pip install django-registration
此模塊暫時(shí)還不支持 Django2.0 以上版本,建議使用2.0以下版本安裝使用。
將 registration 添加到 Django 項(xiàng)目設(shè)置 settings.py 中的 INSTALLED_APPS 中去,然后在 settings.py 中設(shè)置一個(gè)常數(shù),用來指定啟用碼的天數(shù)。
INSTALLED_APPS = ( 'django.contrib.sites', 'registration', #should be immediately above 'django.contrib.admin' 'django.contrib.admin', # ...other installed applications... ) ACCOUNT_ACTIVATION_DAYS = 7 # One-week activation window; you may, of course, use a different value.
運(yùn)行 python manage.py migrate 以安裝默認(rèn)設(shè)置使用的模型。為了使模板正常工作,registration 必須出現(xiàn)在django.contrib.admin上方。
使用標(biāo)準(zhǔn)自定義網(wǎng)址,在 url.py 中添加一行設(shè)置:
url(r'^accounts/', include('registration.backends.default.urls')),
任何指定到 /accounts/的網(wǎng)址,都會(huì)被送到 registration 檢查是否有符合的項(xiàng)。然后用戶可以通過 /accounts/register/ 注冊(cè), 通過 /accounts/login/ 登錄(當(dāng)用戶已注冊(cè)后)等等。
2.建立 django-registration 所需的模板
當(dāng)用戶單擊“注冊(cè)”按鈕后,django-registration 就會(huì)開始調(diào)用一連串的模板以及相關(guān)文本文件,這些是我們需要自己寫的。所有的模板都必須放在 templates 目錄下的 registration 文件夾下。

registration_form.html : 顯示注冊(cè)窗體的網(wǎng)頁(yè),默認(rèn)使用 form 變量作為窗體各字段的內(nèi)容
registration_complete.html : 填寫完注冊(cè)窗體,單擊“提交”按鈕后顯示的信息頁(yè)面
activation_complete.html : 當(dāng)賬號(hào)順利完成啟用時(shí)會(huì)顯示的頁(yè)面
activate.html : 當(dāng)賬號(hào)啟用失敗時(shí)會(huì)顯示的頁(yè)面
activation_email.txt : 在發(fā)送啟用郵件時(shí)使用的郵件內(nèi)容
activation_email_subject.txt : 在發(fā)送啟用郵件時(shí)使用的郵件主題
注意:由于 django-registration 會(huì)使用到 電子郵件發(fā)送功能,因此應(yīng)該先設(shè)置好 Django 的電子郵件收發(fā)功能,可以使用 mailgun 來進(jìn)行電子郵件收發(fā)。
相關(guān)設(shè)置參考 http://www.fzitv.net/article/167669.htm
至此,我們便完成了 djano-registration 相關(guān)設(shè)置,點(diǎn)擊注冊(cè),填寫信息后,便在郵箱中收到網(wǎng)站的驗(yàn)證郵件信息。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python批量處理Excel文件并轉(zhuǎn)為csv文件示例
這篇文章主要介紹了使用Python批量處理Excel文件并轉(zhuǎn)為csv文件示例,文中通過代碼示例給大家介紹非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-12-12
python監(jiān)控linux內(nèi)存并寫入mongodb(推薦)
這篇文章主要介紹了python監(jiān)控linux內(nèi)存并寫入mongodb的相關(guān)資料,需要的朋友可以參考下2017-09-09
Python批量對(duì)word文檔進(jìn)行操作步驟
這篇文章主要介紹了Python批量對(duì)word文檔進(jìn)行操作,一步步逐步完成創(chuàng)建文檔,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02
python中的turtle庫(kù)函數(shù)簡(jiǎn)單使用教程
這篇文章主要介紹了python中的turtle庫(kù)函數(shù)簡(jiǎn)單使用教程。本文通過圖片的形式給大家展示的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-07-07
使用python+Flask實(shí)現(xiàn)日志在web網(wǎng)頁(yè)實(shí)時(shí)更新顯示
日志是一種可以追蹤某些軟件運(yùn)行時(shí)所發(fā)生事件的方法,下面這篇文章主要給大家介紹了關(guān)于使用python+Flask實(shí)現(xiàn)日志在web網(wǎng)頁(yè)實(shí)時(shí)更新顯示的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
Python+opencv+pyaudio實(shí)現(xiàn)帶聲音屏幕錄制
今天小編就為大家分享一篇Python+opencv+pyaudio實(shí)現(xiàn)帶聲音屏幕錄制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
python利用wx實(shí)現(xiàn)界面按鈕和按鈕監(jiān)聽和字體改變的方法
今天小編就為大家分享一篇python利用wx實(shí)現(xiàn)界面按鈕和按鈕監(jiān)聽和字體改變的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07

