12
A
回答
19
您可以通過執行非常小的研究發現約Django的信號,通過互聯網非常好的內容。
在這裏,我將向你解釋有關Django信號的非常簡短的內容。
什麼是Django信號?
信號允許特定發件人通知一組接收器,有些動作已經發生
操作:
模型的save()方法被調用。
django.db.models.signals.pre_save | post_save
模型的delete()方法被調用。
django.db.models.signals.pre_delete | post_delete
模型上的ManyToManyField已更改。
django.db.models.signals.m2m_changed
Django的開始或者結束的HTTP請求。
django.core.signals.request_started | request_finished
所有信號都是django.dispatch.Signal實例。
非常簡單的例子:
models.py
from django.db import models
from django.db.models import signals
def create_customer(sender, instance, created, **kwargs):
print "Save is called"
class Customer(models.Model):
name = models.CharField(max_length=16)
description = models.CharField(max_length=32)
signals.post_save.connect(create_customer, sender=Customer)
殼牌
In [1]: obj = Customer(name='foo', description='foo in detail')
In [2]: obj.save()
Save is called
3
除了由PRASHANT給出的交代,你也可以使用接收機裝飾出現在django.dispatch模塊。
例如。
from django.db import models
from django.db.models import signals
from django.dispatch import receiver
class Customer(models.Model):
name = models.CharField(max_length=16)
description = models.CharField(max_length=32)
@receiver(signals.pre_save, sender=Customer)
def create_customer(sender, instance, created, **kwargs):
print "customer created"
欲瞭解更多信息,請參考以下網站給出: - https://simpleisbetterthancomplex.com/tutorial/2016/07/28/how-to-create-django-signals.html
相關問題
- 1. NRefactory 5從一個簡單的例子開始
- 2. 數據綁定失敗 - 幫我開始簡單的例子
- 3. 簡單的例子
- 4. 簡單的例子
- 5. 如何斷開django信號?
- 6. 簡單使用信號燈
- 7. 信號簡單樣本
- 8. linux uinput:簡單的例子?
- 9. Qt:Quazip的簡單例子
- 10. 簡單的例子:HBase + Spring
- 11. 關閉的簡單例子
- 12. 經由簡單的例子
- 13. 簡單的Ajax例子2.3.0
- 14. 簡單的php websocket例子
- 15. 簡單的Ajax例子
- 16. UINavigationController:最簡單的例子
- 17. Akka.js TestKit:簡單的例子
- 18. Symfony2的簡單例子
- 19. 水銀簡單的例子
- 20. 簡單的例子BeautifulSoup Python
- 21. 簡單的例子AngularJS
- 22. 最簡單的例子tornado.gen
- 23. 最簡單的例子TBB
- 24. 可憐的用例 - 簡單的例子
- 25. Windows Communications Foundation簡單開始
- 26. django的信號
- 27. iteratee簡介或簡單的例子?
- 28. 簡單的scala幫助:簡單表達式的開始簡化
- 29. Django的信號斷開不工作
- 30. 開始一個簡單的應用程序的例外
你能更具體?該手冊已經有一些例子:https://docs.djangoproject.com/en/1.7/topics/signals/ – Wolph