天天生鮮1

2021-10-02 09:16:52 字數 1381 閱讀 9561

註冊

通過是請求頁面還是向伺服器傳輸資料來判斷是註冊還是訪問。

註冊顯示函式

通過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...