【问题标题】:Executing os and subprocess in Django best practice在 Django 最佳实践中执行 os 和 subprocess
【发布时间】:2025-12-27 00:10:11
【问题描述】:

想在 Django 中为我的开发服务器编写自定义控制面板,我想知道从 Django 执行系统调用(如 Linux 上的操作系统和子进程)的最佳解决方案是什么?

在 Django 中是否有一些为此目的保留的库,或者我应该在我的 Django 项目中编写一些 custom.py 来放置我的所有系统调用。

【问题讨论】:

标签: python linux django


【解决方案1】:

Django 只处理一些与 Web 和数据库直接相关的事情,在 viewsurlsmodels 等模块中。

您实现实际功能的其他任何东西都只是 Python,并且可以以您喜欢的任何方式放置在模块中,就像在任何其他 Python 软件中一样。我不会将系统调用放在custom.py 中,而是将它们放在system_calls.py 中,因为您已经这样称呼它们了。或者一个独立于 Django 应用程序的库。

另外,最好将命令作为后台任务运行,并且只启动它们并从网络上查看它们的状态。你应该考虑使用 Celery。

【讨论】:

    【解决方案2】:

    fabric 是要走的路。我主要将它用于部署脚本,但您也可以轻松地将它们导入 python 代码并执行它们。

    【讨论】: