成都网站建设设计

将想法与焦点和您一起共享

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://chengdu.cdxwcx.cn/article/digjjc.html