学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Django3.2 | クラウドソーシングアプリの構築 | 11 | Gメール

↓↓クリックして頂けると励みになります。


10 | Facebook認証】 << 【ホーム】 >> 【12 | リファクタリング




Gmailを使ってメールの送信をできるようにします。


以下の手順でGmailのセキュリティを2段階認証プロセスに変更し、アプリパスワードを生成してください。
mrradiology.hatenablog.jp




「crowdsource/settings.py」ファイルを編集します。


記述編集 【Desktop/crowdsource/crowdsource/settings.py】148行目(末尾)

EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = 'あなたのGメールアドレス'
EMAIL_HOST_PASSWORD = 'あなたのGメールパスワード' #生成したアプリパスワード
DEFAULT_FROM_EMAIL = 'Crowd Source<no-reply@crowd.localhost>' #送信者のアドレスが空の場合に使用



「core/views.py」ファイルを編集します。


「core」フォルダに「signals.py」ファイルを新規作成します。
作成した「signals.py」ファイルを以下のように編集します。



新規作成 【Desktop/crowdsource/core/signals.py】

from django.db.models.signals import post_save
from django.dispatch import receiver
from django.core.mail import send_mail
from django.conf import settings
from django.contrib.auth.models import User
from django.template.loader import render_to_string

@receiver(post_save, sender=User)
def send_welcome_email(sender, instance, created, **kwargs):
  if created and instance.email:
    # Send the welcome email
    body = render_to_string(
      'welcome_email_template.html',
      {
        'name': instance.get_full_name()
      }
    )

    send_mail(
      'ようこそ!クラウドソーシングへ!',
      body,
      settings.DEFAULT_FROM_EMAIL,
      [instance.email],
      fail_silently=False,
    )



「core/apps.py」ファイルを編集します。


記述編集 【Desktop/crowdsource/core/apps.py】8行目

from django.apps import AppConfig


class CoreConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'core'

    def ready(self):
        import core.signals



「crowdsource/settings.py」ファイルを編集します。


記述編集 【Desktop/crowdsource/crowdsource/settings.py】40,43行目

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #'core', #削除
    'bootstrap4', 
    'social_django',
    'core.apps.CoreConfig', #追加 
]



「core/templates」フォルダに「welcome_email_template.html」ファイルを新規作成します。
作成した「welcome_email_template.html」ファイルを以下のように編集します。



新規作成 【Desktop/crowdsource/core/templates/welcome_email_template.html】

{{ name }}様

ご参加、誠にありがとうございます。

クラウドソーシングアプリ



これで新規ユーザ登録するとメールが送信されるようになりました。

新規ユーザ登録
新規ユーザ登録


↓↓クリックして頂けると励みになります。


10 | Facebook認証】 << 【ホーム】 >> 【12 | リファクタリング