Mixin 就是混入的意思圈驼。
和多重繼承類似(其實可以把 Mixin 看作多重繼承的一種在特定場景下的應用)蓝纲,但通尘蠓混入 Mixin 的類和 Mixin 類本身不是 is-a 的關系荸百,混入 Mixin 類是為了添加某些(可選的)功能稽坤。自由地混入 Mixin 類就可以靈活地為被混入的類添加不同的功能咕幻。
傳統(tǒng)的「接口」概念中并不包含實現(xiàn)渔伯,而 Mixin 包含實現(xiàn)。實際上 Mixin 的作用和 Java 中的眾多以「able」結尾的接口很相似肄程。不同的是 Mixin 提供了(默認)實現(xiàn)锣吼,而 Java 中實現(xiàn)了 -able 接口的類需要類自身來實現(xiàn)這些混入的功能(Serializable 接口是個例外)。
參考:
http://python.usyiyi.cn/documents/django_182/topics/class-based-views/mixins.html
如果你想編寫一個簡單的基于類的視圖蓝厌,它只響應POST玄叠, 我們將子類化View并在子類中紅寫一個post()方法,但是拓提,如果我們想處理一個由URL標識的特定對象读恃,我們將需要SingleObjectMixin提供的功能。
圖片.png