首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >构建可插拔的应用程序:如何包含流行库的分支并防止名称冲突?

构建可插拔的应用程序:如何包含流行库的分支并防止名称冲突?
EN

Stack Overflow用户
提问于 2012-08-14 13:44:38
回答 1查看 125关注 0票数 4

我正在构建一个我试图保持可插拔的应用程序。唯一的问题是,我需要稍微修改django-mailer,以便我的应用程序可以跟踪哪些电子邮件已经发送/没有发送,并可以访问电子邮件内容。

有什么最好的方法来确保这不会与使用django-mailer的其他人冲突,或者是我决定为自己的应用程序派生/调整任何其他python库?

我应该在我的fork和所有相关的导入中重命名mailer吗?我是不是错过了更简单的东西?

EN

回答 1

Stack Overflow用户

发布于 2012-08-23 04:25:18

你可以用一个函数来解决它。创建一个同时做这两件事的函数:

  • 确保您可以获取您想要的内容afterwards
  • Make确保邮件已发送。

或者你可以做更重的管道工。一定要很好地记录下来,并尽量让其他人不要为了每个徒劳的目的在家里尝试这个方法,而是联系Django或Django-mailer团队,询问他们是否可以安排一个更好的解决方案。

  • 修饰来自django.core.mail模块的EmailMessage类:确保当一条消息被成功发送时,您想要的信息也被传递到某个地方,从django.core.mail导入EmailMessage类WrappedEmailMessage( else.wrappedmailer.py ):django.core.mail EmailMessage (WrappedEmailMessage,__init__):self.__message = message # more initialization #重写所有EmailMessage方法:#使用所提供的内容做您想做的事情。#然后在初始化应用程序时返回self.__message.method(...)
  • Then,在加载django-mailer之前,您可以执行以下操作:

导入新邮件程序导入新邮件程序django.core.mail.EmailMessage = newmailer.WrappedEmailMessage

django.core.mail模块保留在同一Python进程的缓存中,因此每当导入django.core.mail时,EmailMessage类实际上就是WrappedEmailMessage类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11946369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档