2012-01-01 2 views
1

email_app 및 landing_page_app라는 두 개의 앱이있는 장고 프로젝트가 있습니다. landing_page_app.viewsemail_app.views을 포함하므로 new_lead_email 기능을 사용할 수 있습니다. email_app.views에서Django-Templated-Email : 다른 파일에서 가져올 때 TemplateDoesNotExist

:

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()), 
      }, 
    ) 

landing_page_app.views에서는 :

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으로 가져 오지 않으면 올바르게 작동합니다 (즉, new_lead_emailemail_app.views에 직접 장고 URL이있는 경우).

settings.py에서 나는 TEMPLATED_EMAIL_TEMPLATE_DIRTEMPLATED_EMAIL_FILE_EXTENSION을 "new_lead.email"템플릿이 들어있는 디렉토리로 설정했습니다. 이것은 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에게 감사드립니다. 올바르게 사용하는 법을 배우기를 기대합니다!

답변

0

한 앱의보기를 다른 앱의보기로 가져 오면 안됩니다. email_app 용 utils.py를 만들고 거기에 함수를 넣어보십시오. 현재 프로젝트 루트에서 globalutils.py 파일을 사용하여 프로젝트에 대한 일반 이메일 보내기 기능을 수행하고 있습니다. 템플릿/이메일 /에있는 템플릿에서 txt/html 전자 메일을 프로젝트 루트로 보냅니다. 여기

이가 전화에 상관없이 어떤 앱 이메일을 보내하지 않습니다 방법

def send_message(template_name, subject_context, body_context, recipients, sender=None, send_email=True, send_internal=True): 

subject = render_to_string("%s/%s_%s.%s" % ("email", template_name, "subject", "txt"), subject_context) 
t_html = render_to_string("%s/%s_%s.%s" % ("email", template_name, "body", "html"), body_context) 
t_text = strip_tags(t_html) 

의 처음 몇 줄 수 있습니다.

+0

응답 해 주셔서 감사합니다. 이러한 종류의 기능을 위해 공통 파일로 전환했습니다. 나는'send_templated_mail' 함수가 settings.py 파일을 정확하게 "읽지"않아서 이메일 템플리트를 찾을 곳을 알지 못하는 것과 같은 문제를 여전히 가지고 있습니다. – gwintrob

+0

common.py와 settings.join (BASE_DIR, 'email template dir')에 settings.py가 포함되어 있습니까? – dustinmm80

관련 문제