註冊
通過是請求頁面還是向伺服器傳輸資料來判斷是註冊還是訪問。
註冊顯示函式
通過register返回乙個註冊頁面
註冊處理函式
進行資料接收
request.post.get()
進行資料校驗
ifrender(資料不完整)
對郵箱和使用者名稱等進行正則匹配,若不匹配,則返回錯誤頁面和提示。
檢查使用者名稱是否唯一時,可以用try,然後丟擲異常
進行業務處理
資料儲存進資料庫
使用django.core.mail模組發郵件,需要使用smtp伺服器
登入郵箱,在設定中有乙個post/smtp/imap
客戶端授權密碼
設定授權碼,確定就好了。
在設定中進行傳送郵件的配置
email-backend
email-host 發郵件的位址
email-port
email-host-user 郵箱
email-host-password 授權碼
email-from 發件人
匯入發郵件的函式 send-mail
配置直接記住大概就
啟用鏈結為乙個**,可以用正規表示式接收token,進行反向解析,即可驗證其正確性。
解析出使用者id,並且把使用者的啟用標記改為1即可
並且重定向到登入頁面
若無法解析,這捕獲異常,並在頁面進行響應。
返回應答
進行反向解析,用reverse函式。
可以使用類檢視,通過其檢視函式來進行url註冊
其類檢視可以根據請求方式來呼叫相應的函式,主要是as.view函式對其進行了封裝,
celery非同步傳送郵件
send-mail會阻塞執行,會大概休眠5s
可以把其封裝到程序中進行執行
celery任務佇列,用redis作為中間人,任務發出者發出任務到任務佇列,任務監聽者監聽任務佇列,處理任務。
pip install celery
傳入celery路徑和broker
broker為中間人指定redis
最後用裝飾器實現
在主程式中匯入celery.task中的發郵箱函式
其處理者可以不在同一臺電腦上
在處理者一段應該加上初始化**
登入類檢視函式其實在html函式中有定義action
登入其實有django自製作的認證系統
可以用安裝session的包,在redis書庫庫儲存session資訊。
django-redis
修改django cache setting
作為session backend使用配置
使用django-redis進行測試
根據使用者是否登入,來顯示不同內容
天天生鮮Django專案總結
有關 的一些問題 request.post.get方法只能獲得陣列的最後乙個元素,必須使用request.post.getlist才能獲取整個陣列,以python列表的形式返回所請求鍵的資料。如果鍵不存在放回空列表。它保證了一定會返回某種形式的list。django2.2及以後的版本於mysql不相...
天天生鮮Django專案(四)
37 在後台新增資料 為了顯示方便,為每乙個模型類新增 str 方法,否則後台只顯示 object n 不好看 goods models.py from django.db import models from db.base model import basemodel from tinymce....
天天生鮮專案從0開始
因為此文章是實踐專案文章,所以對於基礎的python安裝就不多做贅述,這裡只交代系統環境是ubuntu作業系統,python3.5 安裝虛擬環境 sudo pip3 install virtualenv安裝虛擬環境擴充套件包 修改使用者家目錄下的.bashrc,新增如下內容 export worko...