我必须向某些客户发送信件,并且我有一个我需要使用的标准信件。我想用变量替换邮件正文中的一些文本。用变量代替文本
这里是我的maturity_letter models.py
class MaturityLetter(models.Model):
default = models.BooleanField(default=False, blank=True)
body = models.TextField(blank=True)
footer = models.TextField(blank=True)
现在身体有这样一个值:
亲爱的[初级名字],
一个重要的提醒...
您有[成熟期]与[金融机构]成熟的[产品]。
等
现在我想用我的模板变量替换括号中的一切。
这是我在我的views.py至今:
context = {}
if request.POST:
start_form = MaturityLetterSetupForm(request.POST)
if start_form.is_valid():
agent = request.session['agent']
start_date = start_form.cleaned_data['start_date']
end_date = start_form.cleaned_data['end_date']
investments = Investment.objects.all().filter(maturity_date__range=(start_date, end_date), plan__profile__agent=agent).order_by('maturity_date')
inv_form = MaturityLetterInvestments(investments, request.POST)
if inv_form.is_valid():
sel_inv = inv_form.cleaned_data['investments']
context['sel_inv'] = sel_inv
maturity_letter = MaturityLetter.objects.get(id=1)
context['mat_letter'] = maturity_letter
context['inv_form'] = inv_form
context['agent'] = agent
context['show_report'] = True
现在,如果通过sel_inv
我可以访问sel_inv.maturity_date
等,但我在如何替换文本失去我循环。
在我的模板,所有我至今是:
{% if show_letter %}
{{ mat_letter.body }} <br/>
{{ mat_letter.footer }}
{% endif %}
大加赞赏。
Nifty我没有意识到你可以“%(var)s”来调用字典元素并将它们放在字符串位置。给予好评! – mayotic