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,结束!!

  • 相关阅读:
    C语言第四章
    C第三章,指代数据
    DES+MD5加密
    时间选择器
    百度地图定位
    Httputils请求网络数据
    xStream解析xml文件
    pulltorefresh
    slidingmenu的应用
    Duutils创建数据库
  • 原文地址:https://www.cnblogs.com/noteaddr/p/12915848.html
Copyright © 2011-2022 走看看