在好的Django项目结构中,我应该把库存在哪里?

1 投票
1 回答
1546 浏览
提问于 2025-04-16 20:30

在我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 文件,这个文件里列出了你运行这个项目所需的所有库。当你在新机器上开始工作或者部署到生产环境时,可以一次性安装这些库。

撰写回答