首页 > 解决方案 > 从 shell 与 Django 视图运行外部 python 脚本

问题描述

我正在尝试运行使用 Django shell 运行的 Python 脚本:

from os import chdir
from subprocess import run

chdir('/home/pi')
run('python3 script.py', shell=True)

它就像一个魅力,但是当我尝试从这样的视图中运行它时:

# django imports omitted
from os import chdir
from subprocess import run

def index(request):
    if request.POST.get('clicked'):
        chdir('/home/pi')
        run('python3 script.py', shell=True)
        ...
        ...

以这种方式执行时,相同的代码将不会运行。我将权限更改为端口,以便我可以暂时做任何我想做的事。错误日志不是很有帮助。它只检测到丢失的 favicon.ico,这在这一点上并不重要。

从 Django shell 与 Django 视图运行脚本时是否有任何“陷阱”?

标签: pythondjango

解决方案


推荐阅读