django的内置信号
Model singnals
pre_init 在model执行构造方法之前自动触发
post_init django的model在执行构造方法之后,自动触发
pre_save django的对象保存之前,自动触发
post_save django的对象保存之后,自动触发
pre_delete 这个是django的对象删除之前,自动触发
post_delete django的的对象删除之后,自动触发
m2m_changed 使用m2m的第三张表(add,remove,clear)前后,自动触发
class_prepared 程序启动时,对已经注册的app的表,对于每一个类,自动触发 Management signals
pre_migrate 执行migrate命令之前,自动触发
post_migrate 执行migrate命令之后,自动触发
Request/Response signals
request_started 请求到来之前,自动触发
request_finished 请求结束后,自动触发 Test signals
settings_chnaged 使用test测试配置文件时,自动触发
settings_rendered 使用test测试渲染模板是,自动触发 Databse signals
connections_created 这个是创建数据库的时候,自动触发 对于django的内置的信号,只需要注册相对应的信号(在project下的__init__最开始运行的时候里面注册),当程序执行的时候,就会自动触发
######################################################################################################
project_singal 下面的__init__里面:
#在这里面可以添加这个信号量 from django.db.models import signals
#导入这个信号量的模块
print('执行这个singal的信号量的操作') #这个是一开始就会执行的操作
def before_save(*args,**kwargs):
print('打印出来',args,kwargs)
signals.pre_save.connect(before_save)
执行的结果:
'''
() {'signal': <django.db.models.signals.ModelSignal object at 0x0000022947A93080>, 'sender': <class 'app01.models.Booke'>, 'instance': <Booke: Booke object (None)>, 'raw': False, 'using': 'default', 'update_fields': None} '''
# //这个会打印这个日志出来 #################################################################################################
views:
from app01.models import *
from django.shortcuts import HttpResponse
def action(requets):
print('开始执行这个fun3的函数了')
models.User.objects.filter(id=1).update(user_name='yun')##这个是可以更新这个数据进去
models.Book.objects.create(book_name='简爱')###############这个是创建这个数据进去
print('创建成功')
return HttpResponse('fun3')
###############################################################
models:
class Book(models.Model):
book_name=models.CharField(max_length=32,verbose_name='书籍名字')
class User(models.Model):
user_name=models.Username(max_length=32)
django的内置信号的更多相关文章
- Django缓存和内置信号
缓存 简单概括就是将对数据库操作查询所得到的数据放入另外一台机器上(缓存)中,当用户再次请求时,直接去缓存中拿,避免对数据库的频繁操作,加快数据的显示时间,需要知道的是,缓存里面的数据一般都设置有超时 ...
- Django内置信号
阅读目录(Content) Django中内置的signal 自定义信号 1.定义信号 2.注册信号 3.触发信号 回到顶部(go to top) Django中内置的signal Django中提供 ...
- Django的内置登录、退出、修改密码方法
Django中内置的登录.退出.修改密码方法. 1.url.py中使用django.contrib.auth中的views函数,django.views.generic中的TemplateView函数 ...
- 七十四:flask信号之flask的内置信号
flask所有的内置信号 1.template_rendered:模板渲染完成后的信号2.before_render_template:模板渲染之前的信号3.request_started:模板开始渲 ...
- django 内置“信号”机制和自定义方法
一.引子 在操作数据的时候,假设我们需要记录一些日志,这个时候,我们需要用什么来显示这个需求呢?装饰器?装饰器只能先实现整体的操作.在django 里面有这么一个东西--信号 下面我们就来了解了解它. ...
- django的内置分页
本节内容 自定义一个简单的内置分页 Django内置分页 Django内置分页扩展(继承) 自定义内置组件 自定义一个简单的内置分页 先用django自己自定制一个简单的内置分页,大概掌握内置分页的底 ...
- Django 使用 内置 content-type
django内置的content-type组件, 记录了项目中所有model元数据的表 可以通过一个ContentType表的id和一个具体表中的id找到任何记录,及先通过ContenType表的id ...
- Django扩展内置User类
内置User类 使用内置User可以方便实现登录验证,利用Admin管理界面还可以方便添加.删除.修改用户. 一个内置的User类定义了以下字段: username: 用户名 password: 密码 ...
- django+mongodb 内置用户控制
0x01 项目:django2.1 数据库:mongodb 这是一个很蛋疼的组合 mongodb并非官方支持使用的数据库,这意味着要使用user group permissions等进行用户和权限控制 ...
随机推荐
- impala系列: 同步Hive元数据和收集统计信息
---====================-- Impala 获取hive 的 metadata ---====================Impala 通常和Hive共用同一个metadat ...
- Windows下 OpenSSL DES加密配置
1.简介:OpenSSL项目是一个协作开发一个健壮的,商业级的,全功能的,并且开放源代码工具包,它实现了安全套接字层(SSL v2/v3)和传输层安全(TLS v1)协议以及全强大的通用加密库. 2. ...
- php实现无限级分类查询(递归、非递归)
递归函数实现方式 上面提到,递归函数的也是借助于栈的机制实现的,但是底层对于栈的处理对于程序员来说都是透明的,程序员只需要关心应用的实现逻辑.所以说使用递归处理上述问题理解起来比较容易,代码也比较简洁 ...
- 导入numpy时,出错怎么解决?
在linux中导入numpy时出错,出现如下图所示的问题,采用更新版本的问题并未解决, 解决方法如下:进入文件夹中,删除其中的numpy文件夹,其他的文件夹不动,然后重新安装numpy即可
- TensorFlow从入门到理解(六):可视化梯度下降
运行代码: import tensorflow as tf import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.m ...
- steps/train_mono.sh
<<单音素HMM的训练流程图.vsdx>> 定义拓扑结构.参数初始化 $ gmm-init-mono --shared-phones=$lang/phones/sets.int ...
- Javascript入门(二)变量、获取元素、操作元素
一.变量 Javascript 有五种基本数据类型 number.String.boolean.undefined.null 一种复合类型:object 二.使用getElementById方法获取元 ...
- XLMHttpRequest对象的status属性,readyState属性以及onreadystatechange事件
注:XLMHttpRequest简写为XHR 一.HTTP请求过程 (1)建立TCP链接 (2)web浏览器向web服务器发送请求命令 (3)web浏览器发送请求头信息 (4)web服务器应答 (5) ...
- MySql cmd下的学习笔记 —— 引擎和事务(engine,transaction)
engine 引擎就是MySQL存储数据的不同方式 myisam 插入速度快 支持全文索引 innoDB 插入速度慢 支持事务安全 假设两人同时购买火车票,两人同时看到只有一张火车票,几乎同时下单 或 ...
- MatrixBG 代码瀑布的实现
黑客帝国中代码瀑布是怎么实现的呢? 我们可以通过 window.innerWidth获取屏幕的宽度W,并规定字符的大小size,那么屏幕中共有 W/size 列字符出现, 我们不断的去更改每一列中文字 ...