4

特定の人だけが登録できるように、登録を監視するサイトを作成しようとしています。間違いなく、登録フォームの上に私が書いたにもかかわらず、いくつかの不適合が登録されるので、私たちは節度を持って行きます.

登録するdjango.contrib.auth Userと、プロフィールが作成され、モデレーターにメールが送信されます。モデレーターは Django 管理サイトにログインし、登録が許可されている人物であることを確認し、アカウントを有効にします。彼らが不正に侵入しようとしている場合、アカウントは削除されます。

recaptcha を使用して、自動試行を停止しようとします。

アカウントがアクティブ化または削除されたときに、アカウントの所有者に、アカウントに何が起こったのか、ログインできること、または現在何をしているのか、何をすべきかを知らせるメールを送信したいと考えています。ばかげているのをやめなさい。

これは信号と関係があると思われますが、django.contrib.auth.

ヒント、手がかり、またはコードはすべて親切に受け入れられます。

4

2 に答える 2

1
from django.db.models.signals import post_save
from django.contrib.auth.models import User

def send_user_email(sender, instance=None, **kwargs):
    if kwargs['created']:
        #your code here
post_save.connect(send_user_email, sender=User)

このようなものがうまくいくはずです。ここにドキュメントがあります。

于 2010-08-09T16:37:14.490 に答える
1

Signalsを見てみたいと思います。

  • アカウントがアクティブ化されたら、pre_saveを使用する必要があります。現在の User をデータベースの既存のインスタンスと比較できます。インスタンスが存在することを確認し、以前が active=False であることを確認し、新しいものが active=True であることを確認してから、電子メールを送信します
  • アカウントが削除されたら、pre_deleteを使用します。post_delete を使用すると、メールにアクセスできなくなります。
于 2010-08-09T16:38:11.697 に答える