Шорткод для Python Flask - PullRequest
       31

Шорткод для Python Flask

0 голосов
/ 10 марта 2019

Я создаю систему электронной почты, в которой пользователь загружает CSV-файл, содержащий заголовки, такие как электронная почта, имя, название компании.Строки содержат всю информацию о разных компаниях.

Затем программа перебирает строки CSV и отправляет их на электронную почту, содержащуюся в CSV.

Я хочу реализовать шорткодсистема, похожая на систему WordPress.

Вот как скрипт Python будет интерпретировать шорткоды:

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

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

Программа должна динамически загружать CSV и интерпретировать шорткоды из CSV.

Мне нужно немногосовет о том, как это сделать.Спасибо!

1 Ответ

0 голосов
/ 10 марта 2019

Я не уверен, почему форматирование строк не решает эту проблему напрямую, но если вам нужен сложный 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)

...