如何在Flask上运行python脚本结果

如何在Flask上运行python脚本结果,python,html,python-2.7,web,flask,Python,Html,Python 2.7,Web,Flask,我已经创建了app.py和index.html文件。我的问题是,我想使用单击submit时从POST收集的输入执行python脚本,然后在相同或不同的html页面上显示脚本输出。我用CGI和烧瓶。我不完全知道如何进行。我在网上搜索,但找不到任何有用的东西。任何帮助都将不胜感激 这是我的密码 from flask import Flask, render_template, request, redirect app = Flask(__name__) @app.route("/") def

我已经创建了app.py和index.html文件。我的问题是,我想使用单击submit时从POST收集的输入执行python脚本,然后在相同或不同的html页面上显示脚本输出。我用CGI和烧瓶。我不完全知道如何进行。我在网上搜索,但找不到任何有用的东西。任何帮助都将不胜感激

这是我的密码

from flask import Flask, render_template, request, redirect

app = Flask(__name__)

@app.route("/")
def main():
  return render_template('index.html')


@app.route("/src_code/main.py", methods = ['POST'])
def run_app():
  id = request.form['id']
  name = request.form['name']
  url = request.form['url']

  if not id or not name or not url:
     return render_template('index.html')
  else:
      #execute the python script.

if __name__ == "__main__":
  app.run()
编辑:

我已使用以下代码导入我的函数。最后,当我单击index.html上的提交按钮时,我收到了一个错误

   script_analyze = Analyzer()
   result = script_analyze.main()

   return render_template(results.html', data=result)

 AttributeError: 'WSGIRequestHandler' object has no attribute 'environ'

我不确定为什么会出现此属性错误

由于要执行另一个Python脚本。。。如果您能够导入另一个脚本,那么您可以使用以下类似的方法调用它并存储结果——假设另一个脚本是一个值返回函数

from othermodule import function_to_run
...
# where you want to call it
result = function_to_run()
然后,您可以像其他人所说的那样使用
render_template
,将此结果作为数据传递给模板(或者如果结果已经是您希望使用Flask输出的格式,则只需返回结果)


这行得通吗,或者你想要运行的脚本是不是不适用的?如果脚本有问题,请让我们了解更多信息。

我不知道问题出在哪里,您已经拥有了所需的所有内容,只需使用新模板在else中返回即可。如何使用新模板返回?你能给我看看样品吗@polkuUse
return render\u template('newtemplate.html',data=script\u output)
就像你已经做的那样,我也不知道你的问题是什么。你必须检查它是否是一个
'POST'
语句,然后执行上述操作,否则使用
返回重定向(url\u for('abc'))
如果您刚开始使用烧瓶,我强烈推荐米格尔·格林伯格。这真的很好。我试过你的代码,我设法导入了我的类,它不是一个模块。但是,这次我收到了与导入相关的以下错误。AttributeError:'WSGIRequestHandler'对象没有属性'environ'@LindsayWardHi。您的编辑不会显示您如何导入任何内容。你能把这个也包括进去吗?您是否在任何地方使用
environ