【发布时间】:2023-03-26 23:41:02
【问题描述】:
我必须向某些客户发送信件,并且我有一封需要使用的标准信件。我想用变量替换消息正文中的一些文本。
这是我的成熟度字母 models.py
class MaturityLetter(models.Model):
default = models.BooleanField(default=False, blank=True)
body = models.TextField(blank=True)
footer = models.TextField(blank=True)
现在 body 的值是这样的:
亲爱的[主要名字],
一个重要的提醒......
您的 [产品] 在 [金融机构] 的 [maturity_date] 到期。
等
现在我想用我的模板变量替换括号中的所有内容。
到目前为止,这就是我在 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 %}
非常感谢。
【问题讨论】:
标签: python django django-models django-views