前提・実現したいこと
python3, Django,django-allauthを利用してWEBシステムを開発しています。
ユーザーの認証にはdjango-allauthを利用しており、サインアップの申し込みがされた時に、管理者へメールが送信されるように、改良したいため、views.pyのSignupViewをオーバーライドしているのですが、うまく機能してくれません。
解決の方法等ご存じの方おりましたら、ご教授いただけないでしょうか?
該当のソースコード
下記のサイトを参考にして、下記のコードを作成しました。
まずは、動作の確認として簡単なコードを追加しましたが機能していません(# ①オーバーライド確認)。
How to override django signup view class
サインアップの申し込みファームを入力、サブミットして、内容が正しい時に追加の動作を行いたいため、def form_valid(self, form):の部分をオーバーライドしています。
python
1from allauth.account.app_settings import app_settings 2from allauth.account.utils import complete_signup 3from allauth.exceptions import ImmediateHttpResponse 4from django.core.mail import EmailMessage 5from django.shortcuts import render 6from allauth.account.views import SignupView as AllAuthSignupView 7 8 9class SignupView(AllAuthSignupView): 10 11 def form_valid(self, form): 12 13 print('テストprint') # ①オーバーライド確認 14 15 self.user = form.save(self.request) 16 try: 17 return complete_signup( 18 self.request, self.user, 19 app_settings.EMAIL_VERIFICATION, 20 self.get_success_url()) 21 except ImmediateHttpResponse as e: 22 return e.response
補足情報(FW/ツールのバージョンなど)
*実行環境
- Python: 3.7.5
- Django: 2.2.2
- allauth: 0.39.1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/24 13:55