使用 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"]
)
我正在制作一个网络应用程序,用户可以在其中使用搅拌机渲染图像。我正在使用 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"]
)