これはかなり些細な質問ですが、満足のいく解決策を思い付くことができないため、何かが欠けているに違いありません。
登録を処理するために 2 つのライブラリを使用しています。電子メール ベースの登録には django-registration を使用し、ソーシャル ベースの登録には django-socialauth を使用しています。ユーザーが初めて登録したときにウェルカム メッセージを表示したいと考えています。
私の現在のアプローチは、ユーザーが過去 2 分以内に登録したかどうかをチェックし、そうであればリクエスト オブジェクトを更新するコンテキスト プロセッサを用意することです。一度しか使わないので毎回チェックしているので効率が悪いようです。
シグナルを使用して実装しようとしましたが、遭遇した問題は、リクエストにフックする方法が必要でしたが、django-registration だけがリクエストを渡すことでした。
私が考えているオプションは、信号を使用してデータベース内のレコードを更新することですが、これは単純なことではやり過ぎのように思えます。明らかな何かが欠けていますか?
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 }