私は、email_appとlanding_page_appという2つのアプリケーションを持つDjangoプロジェクトを持っています。 landing_page_app.views
にはemail_app.views
が含まれているため、new_lead_email
機能を使用できます。 email_app.views
でDjango-Templated-Email:TemplateDoesNotExistを別のファイルからインポートするとき
:
landing_page_app.views
で
from datetime import datetime
from templated_email import send_templated_mail
def new_lead_email(email):
send_templated_mail(
template_name='new_lead',
from_email='[email protected]',
recipient_list=['[email protected]'],
context={
'email': email,
'current_time': str(datetime.now()),
},
)
:
from email_app.views import new_lead_email
new_lead_email(email)
私は "templated_email/new_lead.txt" のために "TemplateDoesNotExist" エラーが発生します。 new_lead_email
機能が正しく動作するのは、landing_page_app.views
にインポートされていない場合です(つまり、Django URL new_lead_email
をemail_app.views
に直接呼び出している場合)。
settings.pyでは、「new_lead.email」テンプレートを含むディレクトリにTEMPLATED_EMAIL_TEMPLATE_DIR
とTEMPLATED_EMAIL_FILE_EXTENSION
を設定しました。これは、django-templated-emailのvanilla_django.pyファイル(https://github.com/bradwhittington/django-templated-email/blob/master/templated_email/backends/vanilla_django.py)がsettings.pyをインポートしていないことを示していますファイルを正しく。
email_app.views
の機能を他のファイルにインポートしてテンプレートを正しく動作させる方法については、ご意見をお聞かせください。非常に便利なDjangoクラスのbradwhittingtonに感謝します。私はそれを正しく使う方法を学ぶのを楽しみにしています!
お返事ありがとうございます。私はこれらの種類の機能のために共通のファイルに切り替えました。私は 'send_templated_mail'関数がsettings.pyファイルを正しく"読み込んで "電子メールテンプレートを探す場所を知っていないという同じ問題を依然として抱えています。 – gwintrob
共通ファイルとos.path.join(BASE_DIR、 'email template dir')にsettings.pyを含めていますか? – dustinmm80