参考:

https://www.laruence.com/2009/11/18/1154.html

 

https://www.cnblogs.com/DjangoBlog/p/6912932.html