【发布时间】:2019-07-26 00:59:29
【问题描述】:
我正在尝试使用从用户生成的 symbol 参数运行具有源 scripts/earnings.py 的脚本。输出是一个 matplotlib 图表,我试图将其放入我的模板中。
from django.shortcuts import render
import subprocess
from backtests.scripts import earnings
def index(request):
if 'symbol' in request.GET:
symbol = request.GET.get('symbol','Invalid Symbol')
request.session['symbol'] = symbol
else:
symbol = request.session['symbol']
process = subprocess.run(["python earnings", "symbol"], stdout=subprocess.PIPE)
output = process.stdout
return render(request, 'backtests/earnings.html', {'symbol' : symbol, 'output' : output})
到目前为止,我得到了错误
FileNotFoundError: [Errno 2] 没有这样的文件或目录:'python 收入':'python 收入'
【问题讨论】:
-
从earnings.py导入你正在运行的python函数并直接调用该函数,然后使用该函数的返回值不是更容易吗?
-
我很确定这是路径问题。试试
["python scripts/earnings.py", "symbol"] -
@dirkgroten 取决于脚本的编写方式,它可能会保持全局状态,不适合导入到长时间运行的进程中
标签: django django-views subprocess