這是一個非常小的問題,但我必須錯過一些東西,因爲我無法想出一個我很滿意的解決方案。如何在使用django-registration和django-socialauth時顯示註冊後歡迎信息?
我使用兩個庫來處理註冊,基於電子郵件註冊的django註冊和基於社交的註冊的django-socialauth,並希望在用戶首次註冊時顯示歡迎消息。
我目前的做法是有一個上下文處理器,用於檢查用戶是否在過去2分鐘內註冊過,如果是,則更新請求對象。這似乎是低效的,因爲我每次只檢查一次就檢查一次。
我嘗試過使用信號來實現它,但是我碰到的問題是我需要某種方式來掛接請求,但只有django註冊才能傳遞請求。
我正在考慮的一個選項是使用信號更新數據庫中的一條記錄,但對於這種簡單的事情來說這看起來有點過分。我錯過了明顯的東西嗎?
context_processors.py:
def just_registered(request):
just_registered = False
if request.user.is_authenticated() and request.user.email:
if request.user.date_joined < datetime.today() + timedelta(minutes=2):
if 'just_registered' not in request.session:
just_registered = True
request.session['just_registered'] = just_registered
return { 'just_registered' : just_registered }
不,我明白這一部分。問題是,我不想使用just_registered函數,因爲檢查是爲每個頁面加載完成的,因爲我應該只做一次。 啊感謝電子郵件的注意事項 - 我還使用類似的代碼來處理其他需要電子郵件的地方,如果用戶使用Twitter註冊,那麼電子郵件未設置。 – 2013-02-27 00:35:40
爲什麼不創建裝飾者? – princess 2013-02-27 00:38:01
這將如何工作?用與上下文處理器中大致相同的邏輯包裝每個視圖? – 2013-02-27 15:47:54