2017-01-17 3 views
0

メザニンを設定する方法はありますか?新しい(通常の)ユーザーがサインアップするときに管理者のユーザーに電子メールが届くようにする方法はありますか?私はACCOUNTS_VERIFICATION_REQUIRED=Trueを持っているので、やる気のあるユーザーは電子メールを受け取るが、アカウントを自分で承認する必要はない(ACCOUNTS_APPROVAL_REQUIRED)。ユーザーがサインアップするとメザニンが管理者に電子メールを送信できますか?

すぐには使用できない場合は、accountsアプリをカスタマイズする必要がありますか?または、サルのパッチUserProfileAdmin.save_model?最善のアプローチは何ですか?

+1

もっと簡単な解決策があれば私の頭の上から分かりませんが、Djangoには* save_modelメソッドを追加する前に 'pre_save'または' post_save'シグナルを使うことを検討してください。 https://docs.djangoproject.com/en/stable/topics/signals/ –

答えて

0

閉鎖のために、私は、メザニンユーザーのメーリングリストでSteve MacDonald自身から多かれ少なかれ手渡された解決策をここに示します。 ACCOUNTS_PROFILE_FORM_CLASSの設定では、ユーザープロファイルのサインアップ/更新にカスタムフォームクラスを指定できます。だから、settings.pyセットで:

ACCOUNTS_PROFILE_FORM_CLASS = "myapp.forms.MyCustomProfileForm" 

そしてmyapp.forms.pyでは、保存時に電子メールを送信:

from mezzanine.accounts.forms import ProfileForm 

class MyCustomProfileForm(ProfileForm): 
    def save(self, *args, **kwargs): 
     user = super(MyCustomProfileForm, self).save(*args, **kwargs) 
     if self._signup: 
      # send email here 
     return user 

これは私のために非常によく働きました。

関連する問題