Django 1.6 模块化处理

官方进阶 tutorials 声称可以将 app 高度弹性模块化,这本身就是一个很吸引的话题,我们来看看怎么搞:

1. 安装个包管理工具 setuptools

setuptools: https://pypi.python.org/pypi/setuptools

pip: https://pypi.python.org/pypi/pip

按照说明装好即可。


又独自将教程读完了,其实都是一些记不住的步骤,不过是做下来了,还是下次用的时候直接抄教程吧:https://docs.djangoproject.com/en/1.6/intro/reusable-apps/

反正最终获得的效果就是:

可以通过 setuptools 将自己做的 app 打包成一个 zip,然后通过 pip 可以灵活安装卸载这个安装包。

例如:

我们有一个 mysite 的 django project,其中有一个 myapp 的 app。

在我们保持 myapp 与 mysite 相对独立的情况下,我们可以将 myapp 拆离出来,做成一个安装包,然后从 mysite 中删除 myapp 文件夹;

这个时候,myapp 是运行不了的,因为在 mysite 里面所有的 import myapp.??? 都一下子找不到了。

然后我们尝试用 pip 安装我们生成的 myapp 安装包,这个 myapp 就安装到 python 的安装路径 (python33/site-package/myapp) 去了(这个安装的时候会看得到),然后所有的 import myapp.??? 的引用又能生效了。

这个时候 myapp 完全是与 mysite 独立的了,而且我们完全可以让另一个 yoursite 也来引用同样的 myapp.???,这样就可以让一个 app 供不同的 project 共用,这就是 python 的魔力所在!


【转载请附】愿以此功德,回向 >>

原文链接:https://www.huangwenchao.com.cn/2014/03/django-reusable.html【Django 1.6 模块化处理】

发表评论

电子邮件地址不会被公开。 必填项已用*标注