使用 Django 在 Docker 容器中启动 Blender 控制台

Launching Blender console in Docker container with Django

我正在制作一个网络应用程序,用户可以在其中使用搅拌机渲染图像。我正在使用 django 作为框架,并在 docker 环境中使用它 运行。

您可以使用 blender 控制台命令渲染图像,如下所示:

blender -b animation.blend -o //render_ -F PNG -x 1 -a

我的问题是从 Django 启动控制台命令的最佳做法是什么?

我知道您可以向 manage.py 添加自定义命令,但不知道如何启动这些命令。

更具体地说,我如何使用包含搅拌机控制台的参数启动 docker 容器。

Blender stackexchange 上有一个类似的问题:https://blender.stackexchange.com/a/1366

我建议您将 blender 作为 Python 模块使用,而不是 运行 单独的进程,因为它更难控制系统负载和处理错误。如何 运行 搅拌机作为 Python 模块:https://wiki.blender.org/wiki/Building_Blender/Other/BlenderAsPyModule

但是,为了简单起见,您可以 运行 blender 作为使用 subprocess 的命令,请参阅此处的示例:https://docs.python.org/3/library/subprocess.html#subprocess.run

import subprocess
subprocess.run(
  ["blender", "-b", "animation.blend", "-o", "//render_", "-F", "PNG", "-x", "1", "-a"]
)