Django   发布时间:2022-04-10  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Python 实现抽象类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

实现抽象类的两种方式

方式一

abc abc <span style="color: #0000ff;">class Basemessage(metaclass=<span style="color: #000000;">ABCMeta):

@abstractmethod
</span><span style="color: #0000ff;"&gt;def</span><span style="color: #000000;"&gt; send(self,subject,body,to,Name):
    </span><span style="color: #0000ff;"&gt;pass</span></pre>

方式二

message(object): Name): NotImplementedError()

邮件提醒

email.mime.text email.utils .base message

<span style="color: #0000ff;">class<span style="color: #000000;"> Email(BasemessagE):
<span style="color: #0000ff;">def <span style="color: #800080;">init<span style="color: #000000;">(self):
self.email = <span style="color: #800000;">"寄件人的邮箱地址<span style="color: #800000;">"<span style="color: #000000;">
self.user = <span style="color: #800000;">"寄件人姓名<span style="color: #800000;">"<span style="color: #000000;">
self.pwd = <span style="color: #800000;">'邮箱密码或SMTP授权码<span style="color: #800000;">'

<span style="color: #0000ff;"&gt;def</span><span style="color: #000000;"&gt; send(self,Name):
    </span><span style="color: #800000;"&gt;'''</span><span style="color: #800000;"&gt;
    :param subject: 主题
    :param body: 内容
    :param to:接受者
    :param name:接受者姓名
    :return:
    </span><span style="color: #800000;"&gt;'''</span><span style="color: #000000;"&gt;

    msg </span>= MIMEText(body,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;plain</span><span style="color: #800000;"&gt;'</span>,<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;utf-8</span><span style="color: #800000;"&gt;'</span>)  <span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt; 发送内容</span>
    msg[<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;From</span><span style="color: #800000;"&gt;'</span>] = formataddr([self.user,self.email])  <span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt; 发件人</span>
    msg[<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;To</span><span style="color: #800000;"&gt;'</span>] = formataddr([name,to])  <span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt; 收件人</span>
    msg[<span style="color: #800000;"&gt;'</span><span style="color: #800000;"&gt;Subject</span><span style="color: #800000;"&gt;'</span>] = subject <span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt; 主题</span>

<span style="color: #000000;">

    server </span>= smtplib.SMTP(<span style="color: #800000;"&gt;"</span><span style="color: #800000;"&gt;smtp.126.com</span><span style="color: #800000;"&gt;"</span>,25) <span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt; SMTP服务</span>
    server.login(self.email,self.pwd) <span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt; 邮箱用户名和密码</span>
    server.sendmail(self.email,[to,],msg.as_String()) <span style="color: #008000;"&gt;#</span><span style="color: #008000;"&gt; 发送者和接收者</span>
    server.quit()</pre>

动态导入模块+反射

setTings

messaGE_CLASSES =s.message.email.Emails.message.msg.Msgs.message.wx.WeChats.message.dingding.DingDing

<div class="cnblogs_code">

 django.conf Tings
message(to,name,body):
    ject: 主题
    :param body: 内容
    :return: 
    
     cls_path Tings.messaGE_CLASSES:
        
        module_path,class_name = cls_path.rsplit(,maxsplit=1
        m =
        obj =Name)()
        obj.send(subject,)  

大佬总结

以上是大佬教程为你收集整理的Python 实现抽象类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)全部内容,希望文章能够帮你解决Python 实现抽象类的两种方式+邮件提醒+动态导入模块+反射(参考Django中间件源码)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: