当你的模块文件越来越多, 就需要对模块文件进行划分, 比如把负责跟数据库交互的都放一个文件夹, 把与页面交互相互的放入一个文件夹.
像上面这样, 一个文件夹管理多个模块文件, 这个文件夹就被称为包.
那不同包之间的模块如何相互导入呢?
crm/views.py 内容
- def sayhi():
- print('hello world!')
通过 manage.py 调用
- from my_pro.crm import views #从包里导入包里的文件
- views.sayhi()
在文件夹下, 加一个 __inint__.py 这个文件就会被 python2 识别为一个包, python3 不加也能被识别为包.
从 manage.py 里导入 views.py, 从 views.py 里导入 settings.py. 因为在 sys.path 里已经把 manage.py 所在的位置当作入口导入, 即 sys.path 里的 " " , 所以 views.py 可以从高它一级的 proj 里导入 settings.py .
来源: http://www.bubuko.com/infodetail-2965993.html