我正在尝试运行使用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)
...
...
以这种方式执行时,相同的代码将不会运行。我更改了对port的权限,以便可以暂时执行所需的操作。错误日志不是很有帮助。它只会检测到丢失的favicon.ico,这在当时并不重要。
从Django shell与Django视图运行脚本时是否有任何“陷阱”?