当前位置:  开发笔记 > 编程语言 > 正文

隐藏用Python编写的电子邮件模板系统的实现细节

如何解决《隐藏用Python编写的电子邮件模板系统的实现细节》经验,为你挑选了1个好方法。

我正在编写一个应用程序,其中一个功能是允许用户使用Markdown语法编写电子邮件模板.

除格式化外,用户必须能够使用占位符来处理在运行时被替换的几个变量.

这个目前的工作方式非常简单:模板有Pythonic%(var)的占位符,我在应用Markdown2格式之前用字典替换它们.

事实证明,这个系统的最终用户将是一个精通技术的用户,我不想让每个人都明白它是用Python编写的.

这不是我不喜欢Python ......我实际上认为Python是完成这项工作的完美工具,我只是不想向用户公开它(即使它是用Java编写的,也希望相同,Perl ,Ruby或其他任何东西).

因此,我想问一下您认为哪些是为用户公开占位符的最佳方式的见解:

    你认为最好的占位符格式是什么(想象为$ {var},$(var)或#{var})?

    替换这些占位符的最佳方法是什么?

我使用正则表达式来改变 - 例如 - $ {var}到%(var)s然后应用常规的Python模板替换,但我不确定这是最好的方法.

如果你这样做,如果你能指出我那个正则表达式的草稿,那将是非常好的.

谢谢!

更新:用户指出使用完整的模板系统,但我认为这可能不值得,因为我需要的是占位符替换:我不会有循环或类似的东西.

最后更新:我此时选择不使用任何模板引擎.我选择使用更简单的string.Template方法(正如hyperboreean的评论所指出的那样).事实是,我不喜欢选择解决方案,因为将来某个时候可能需要解决方案.我将把所有这些建议保留在我的袖子上,如果在应用程序的生命周期中明确需要它们提供的一个或多个功能,我将重新审视这个想法.现在,我真的觉得这太过分了.拥有完整的模板,最终用户可以根据自己的需要进行编辑,至少在我看来,更多的麻烦而不是受益.尽管如此,感觉更好的是我没有意识到我没有沿着这条道路前进的原因,而只是没有研究任何东西并选择它.

非常感谢所有的输入.



1> S.Lott..:

使用真实的模板工具:mako或jinja.不要自己动手.不值得.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有