https://www.zhihu.com/question/41631631 https://blog.csdn.net/chenzhi1992/article/details/52905569 https://www.cnblogs.com/bamtercelboo/p/7469005.html http://www.cnblogs.com/DjangoBlog/p/7281438.html