電子メールを送信する関数を作成していますが、電子メールのHTMLテンプレート内でcontext_processor変数を使用する必要がありますが、これは機能しません。render_to_stringメソッドのDjangoカスタムコンテキストプロセッサー
例:私のカスタムcontext_processor.py
で
def send_email(plain_body_template_name, html_body_template_name):
plain_body = loader.render_to_string(plain_body_template_name, context)
html_body = loader.render_to_string(html_body_template_name, context)
email_msg = EmailMultiAlternatives(body=plain_body)
email_msg.attach_alternative(html_body, 'text/html')
email_message.send()
私はちょうどHttpRequest
を受け取り、{'foo': 'bar'}
のような辞書を返す機能を持っており、テンプレートに私が{{foo}}
を使用してレンダリングしてみてください。
TEMPLATE['OPTIONS']['context_processors']
にcontext_processorも追加しました。
ありがとう@ user3208419この特定のケースでは、リクエストは必要ありません。あなたの解決方法に従って 'context'パラメタを自分の' context_processors'で更新し、 'template ['OPTIONS'] ['context_processors']'を 'request' paramを持つ別のテンプレートに保存しました。 –