Python Flas的短代码

2024-06-08 08:09:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个emailer系统,用户上传一个CSV,其中包含邮件、姓名、公司名称等标题。这些行包含不同公司的所有信息。你知道吗

然后程序循环浏览CSV的行,并将其发送到CSV中包含的电子邮件。你知道吗

我想实现一个短代码系统,类似于WordPress的

python脚本将这样解释短代码:

Name: [Name]
Subject: Proposal for [company-name]

Message:
Dear [name],
...
...

程序应该动态加载CSV并解释CSV中的短代码。你知道吗

我需要一些关于如何做这件事的建议。谢谢您!你知道吗


Tags: csv代码用户name程序名称信息标题
1条回答
网友
1楼 · 发布于 2024-06-08 08:09:57

我不知道为什么字符串格式不能直接解决这个问题,但是如果你想在你的电子邮件中使用复杂的HTML,或者正在考虑将模板从硬编码中抽象出来,我建议不要重新发明轮子如果你使用的是Python,我会说只是使用Jinja2模板和CSV解析混合来填充模板

from __future__ import print_function
from jinja2 import Template
import csv
try:
  from StringIO import StringIO
except:
  from io import StringIO


templatestr = '''Name: {{name}}
Subject: Proposal for {{company_name}}

Message:
Dear {{name}},...
'''

rawcsv = StringIO('''nobody,company1
somebody,company2
''')

for row in csv.reader(rawcsv):
  print('~~~~~~~ {} ~~~~~~~~'.format(row))
  name, company_name = row
  result = Template(templatestr).render(name=name, company_name=company_name)
  print(result)

(编辑以添加CSV示例)

相关问题 更多 >