在 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.