从Django视图运行linux命令。在pythonshell中工作良好。韩元';不能从视图执行
我尝试过同时使用subprocess()和os.system() 现在代码很好。我已经打开了python,并直接复制和粘贴了确切的命令,效果很好 python:从Django视图运行linux命令。在pythonshell中工作良好。韩元';不能从视图执行,python,django,apache,Python,Django,Apache,我尝试过同时使用subprocess()和os.system() 现在代码很好。我已经打开了python,并直接复制和粘贴了确切的命令,效果很好 python: import os os.system(command theFileIwroteto argument) 为什么它可以使用python shell工作,但拒绝从django视图文件执行?您应该查看错误日志,以便进行正确的诊断 如果没有更多信息,我可以想到两个原因: apachemod_wsgi限制对stdout的访问,您正在运行的命
import os
os.system(command theFileIwroteto argument)
为什么它可以使用python shell工作,但拒绝从django视图文件执行?您应该查看错误日志,以便进行正确的诊断 如果没有更多信息,我可以想到两个原因:
IOError:sys.stdout访问受限于mod_wsgi
之类的错误李>
su
发送给同一用户,然后尝试使用相同的命令。任何错误都会提示您缺少权限从Django视图运行shell几乎总是一个坏主意,特别是当命令运行需要几秒钟的时候。它的可扩展性很差,使某人更容易对您的站点进行DDoS攻击,并且使响应速度变慢。正确的方法是将作业放在队列上,并让一个或多个后台进程使用该队列。看一看,这类任务很流行。您是如何运行视图的?您将其标记为apache,这会让我认为您正在以wsgi(而不是django dev服务器等)的形式运行它。您正在运行什么操作系统?您是否获得了受mod_wsgi限制的sys.stdout访问权限?
import os
os.system(command theFileIwroteto argument)