Django中信号signals的简单使用方法-创新互联
正文
公司主营业务:成都网站制作、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出稷山免费做网站回馈大家。在平时的开发过程中,我们会遇到一些特殊的应用场景,如果你想要在执行某种操作之前或者之后你能够得到通知,并对其进行一些你想要的操作时,你就可以用Django中的信号(signals)。Django 提供一个“信号分发器”,允许解耦的应用在框架的其它地方发生操作时会被通知到,也就是说在特定事件发生时,可以发送一个信号去通知所有注册了这个信号的回调,在回调里进行想要的操作处理。
一.Django内置信号
Django内置了对数据表,migrate命令,url请求相关(request/response),使用test测试,连接数据库五大类信号。
Model signals pre_init # model执行构造方法前,触发 post_init # model执行构造方法后,触发 pre_save # model执行save对象保存前,触发 post_save # model执行save对象保存前,触发 pre_delete # model执行delete对象删除前,触发 post_delete # model执行delete对象删除前,触发 m2m_changed # model使用多对多字段操作第三张表前后,触发 class_prepared # 程序启动时,检测已注册的model类,对每个类,触发 Management signals pre_migrate # 执行migrate前,触发 post_migrate # 执行migrate后,触发 Request/response signals request_started # 请求到来前,触发 request_finished # 请求结束后,触发 got_request_exception # 请求异常后,触发 Test signals setting_changed # 使用test测试修改配置文件,触发 template_rendered # 使用test测试渲染模板时,触发 Database Wrappers connection_created # 创建数据库连接时,触发
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:Django中信号signals的简单使用方法-创新互联
链接分享:http://pwwzsj.com/article/digjjc.html