zoukankan      html  css  js  c++  java
  • django 信号的使用

    django 中信号的使用记录

    1,在app应用文件夹下 创建一个 signals.py的文件

    2,在signals.py 文件中导入相关的python包

    1 from django.db.models.signals import post_save
    2 from order.models import WithDrawOrder
    3 from django.dispatch import receiver, Signal
    4

    3,在该文件下编写相关代码:

    @receiver(post_save, sender=WithDrawOrder)
    def create_withdraw_order(sender, instance, created, **kwargs):
        if created:
            content = '{}相关操作'.format(instance.user.username)
            create_dist = {
                "log_type": 2,
                "content": content,
                "user_id": instance.user.id,
    
            }
            print('信号触发')

    4,编写好signals.py 文件后,进入该app应用下的 apps.py文件中 ,添加如下代码

    from django.apps import AppConfig
    
    
    class UsersConfig(AppConfig): 
        name = 'users'
    
        def ready(self):              #项目启动时自动加载 users的signals 文件
            import users.signals

    5,在app应用文件夹下的 __init__.py 文件中 添加:(否则信号无法启动)

    1 default_app_config = 'proxy.apps.UsersConfig'

     6,结束!!

  • 相关阅读:
    Android TTS
    观察者模式(C++实现)
    android 8未知来源app安装
    NotificationChannel
    java底层知识
    Java14
    数据库分区、分库分表
    二叉搜索树的第k大节点
    从上到下按层打印二叉树
    springcloud面试知识点
  • 原文地址:https://www.cnblogs.com/noteaddr/p/12915848.html
Copyright © 2011-2022 走看看