在好的Django项目结构中,我应该把库存在哪里?
在我Django网站的一个应用中,我需要用到一个第三方的模块或库。我在研究一个好的Django项目应该怎么结构,但没找到关于存放库的具体建议。我的当前项目结构是这样的:
urls.py
manage.py
settings.py
apps
app1
views.py
models.py
manager.py
tests.py
app2
...
...
...
...
我应该在最上层创建一个叫做libs
的文件夹,把库放在那里,还是应该在我将要使用这个库的具体应用文件夹下创建一个libs
文件夹呢?
还有一点是,当我写Django代码时,我尽量让我的视图、模型和管理器保持简单。如果需要一些复杂的东西,我会创建一个类或模块,把这些东西放在那里。我应该把这个放在我将要使用的具体应用文件夹里,还是也放到libs
文件夹里呢?我在我的应用中经常有一个helpers.py文件,但我通常用它来存放一些小而简单的辅助函数。
显然,你可以把库放在任何地方。对Python来说都没问题,但这不一定是最好的做法。
谢谢。
1 个回答
3
如果这是一个第三方库,那就不应该把它放在你的源代码里。
如果你使用 virtualenv
,你可以创建一个完整的环境,专门为这个项目安装需要的库。而且,结合 pip
,你可以设置一个 requirements.txt
文件,这个文件里列出了你运行这个项目所需的所有库。当你在新机器上开始工作或者部署到生产环境时,可以一次性安装这些库。