1.1.2 Django源码学习基础

在学习Django源码之前,必须要做到以下两点(学习其他框架的源码也是如此):

◎ 熟练使用Django框架(或者其他框架)进行日常的使用或开发。

◎ 掌握实现Django框架的语言基础——Python。

注意,Django、Flask和Ansible等的语言基础是Python,Nginx和Redis等的语言基础是C,MongoDB和Ceph等的语言基础是C++。

只有熟悉Django框架的用法,才能从一些基本现象入手,切入源码进行学习。在研究Django源码的过程中,可以发现一些更为高级的用法,从而进一步掌握Django框架。在使用Django框架的过程中,你有没有思考过以下几个问题:

◎ 创建Django项目的命令是django-admin startproject project_name,它的具体执行过程是怎样的?

◎ Django提供的shell交互模式(python manager.py shell)和普通的Python交互模式有何区别?

◎ 是否曾被python manager.py migrate命令所困扰?经常在不经意的改动后,使得迁移指令执行失败,最后只能完全重来一遍,费时又费力。

◎ Django内置了简单优雅的ORM框架,使得Django操作数据库变得非常的简单,它是如何实现的?

带着问题去阅读源码是一种非常优秀的学习方式,在本书中,笔者会带领读者结合问题去源码中寻找答案,希望在学完本书后,读者能对Django框架有非常深刻的理解。