我正在尝试修复一些遗留的django代码中的错误,并且我不是任何专家,所以我希望有人可以帮助解决这个小难题。
我有一个views.py,其中说明了以下内容(注意:用户是现有对象):
if user.is_eligible:
email_template = 'subfolder/registered'
else:
if form.cleaned_data['occupation'] == '1': # media workers
email_template = 'ideas/registered-template1'
elif form.cleaned_data['occupation'] == '2':
email_template = 'subfolder/registered-template2'
else:
email_template = 'subfolder/registered-template3'
send_templated_mail(email_template, None, recipient_list=[{'email': user.email, 'name': user.get_full_name()},], context={'name': user.given_name, })
我的模板如下(ish)
{% extends 'templated_email/subfolder/base.email' %}
{% load waffle_tags %}
{% block subject %}Thank you for registering{% endblock %}
{% block header_image %}header.jpg{% endblock %}
{% block plain_body %}
Thank you for registering!
Congratulations.
{% endblock %}
{% block html_body %}
<p style="margin:12px 0;">
<font face="Verdana,Arial,sans-serif" color="#595959" style="font-size:12px; line-height: 16px; -webkit-text-size-adjust: none; text-size-adjust: none;">Thank you for registering!<br/></font>
</p>
<p style="margin:12px 0;">
<font face="Verdana,Arial,sans-serif" color="#595959" style="font-size:12px; line-height: 16px; -webkit-text-size-adjust: none; text-size-adjust: none;">Congratulations<br/></font>
</p>
{% endblock %}
我所遇到的问题是,尽管模板通过正确而正确,但主题行是作为模板的名称出现的,但不适用于所有模板。
我尝试用下划线替换破折号(所以subfolder/registered_template3.email
)。
任何人都可以建议您尝试一下吗?
由于 奥比
答案 0 :(得分:0)
我发现了这个问题。
在common.py
(设置)中,主题的写法如下:
TEMPLATED_EMAIL_MANDRILL = {
'_default': {
'auto_html': None,
'auto_text': None,
'from_email': 'return@address.com',
'from_name': 'Reply Name',
'google_analytics_campaign': 'email@address.com',
'google_analytics_domains': ['email@address.com'],
'headers': {'Reply-To': 'return@address.com'},
'important': False,
'inline_css': None,
'metadata': {'website': 'www.mysite.com'},
'return_path_domain': None,
'signing_domain': None,
'track_clicks': None,
'track_opens': None,
'tracking_domain': None,
'url_strip_qs': None,
'view_content_link': None,
},
'subfolder/registered': {
'subject': 'My subject line',
'from_name': 'Me'
},
'subfolder/registered_template1': {
'subject': 'My subject line',
'from_name': 'Me'
},
'subfolder/registered_template2': {
'subject': 'My subject line',
'from_name': 'Me'
},
'subfolder/registered_template3': {
'subject': 'My subject line',
'from_name': 'Me'
},
}
(使模板中的{% block subject %}
无效)
添加丢失的(并且错误地渲染主题行)修复了问题。
无论如何,谢谢你的观察:)