在 Django 中执行 Linux 命令可以使用 Python 的 subprocess 模块。subprocess 模块允许您在 Python 中执行外部命令,并获取其输出。以下是一个示例代码,演示如何在 Django 中执行 Linux 命令:
import subprocess
def run_command(cmd):
try:
result = subprocess.check_output(
cmd, stderr=subprocess.STDOUT, shell=True)
except subprocess.CalledProcessError as e:
result = e.output
return result.decode("utf-8")
在上面的代码中,我们定义了一个名为 "run_command" 的函数,该函数接受一个字符串作为参数,表示要执行的 Linux 命令。该函数使用 subprocess 模块的 check_output() 函数执行命令,并将输出作为字符串返回。如果命令执行失败,则该函数将返回一个错误消息。
您可以在 Django 视图或模型中使用该函数来执行 Linux 命令,并处理其输出。例如,在 Django 视图中,您可以使用以下代码来执行命令并将其输出呈现到模板中:
from django.shortcuts import render
from .utils import run_command
def index(request):
output = run_command("ls -l")
return render(request, 'index.html', {'output': output})
在上面的代码中,我们在视图中调用 run_command() 函数来执行 "ls -l" 命令,并将其输出作为模板变量传递到模板中。
需要注意的是,执行外部命令可能会有安全风险,因此请确保只执行受信任的命令,并对输入进行适当的验证和过滤。
0 Comments latest
No comments.