用我的网站上的按钮运行Python脚本

14 浏览
0 Comments

用我的网站上的按钮运行Python脚本

这个问题已经有答案:

如何让一个Python文件运行另一个?[重复]

如何从另一个脚本调用一个脚本?[关闭]

如何显示JavaScript对象?

打印JavaScript对象的内容?[重复]

我目前正在尝试使用Flask创建一个仅包含一个按钮(就目前而言)的网站。如果我按下该按钮,我想从特定路径或项目文件夹中运行Python脚本。我已经看到了一些关于同一话题的帖子,但它们没有真正帮助我。

我已经有了一些代码。

这是我的Flask app.py

from flask import Flask, render_template, jsonify
import test
app = Flask(__name__)
@app.route('/')
def index():
    return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)

这是我的index.html


 
 
 
   
   
   
 

如果我运行我的flask网站并点击按钮,我希望执行保存在我的项目文件夹或其他地方的test.py。我不知道是否可能以这种方式实现,或者是否有更好的解决方案。现在,我仍在使用flask尝试,但是我无法让test.py运行。

当我按下按钮时,它只向我显示一个带有[object Object]的警报

基本上,我尝试构建的是一个带有按钮的网站,就像在后台运行我的脚本的服务,该服务有时需要更长时间才能完成。

我不确定在这种情况下是否误解了ajax的使用。

任何帮助都将不胜感激。

admin 更改状态以发布 2023年5月21日
0
0 Comments

这里提供了一些使用 Flask 函数、jQuery 和 Bootstrap(非必须,只是为了按钮格式化)的示例,希望能对你有所帮助。

Python(在应用脚本中):

@app.route('/do_something')
def do_something():
  """
  Do something on button press.
  """
  # your code
  return res

JavaScript:

var btnName = function() {
  $.get('/do_something',
    function(x) {
      $("#resBtnHere").html(x);
    }
  )
}
btnName()

HTML 中的按钮:


在 HTML 中,当按钮按下后,显示你的函数的结果(如果需要):

0
0 Comments

一个简单的在按钮按下时运行代码的解决方案可能是以下这样。如果你想要在后台运行任务,请看看 Flask 中的 celery 或 threading。

from flask import Flask, render_template, jsonify
import test
app = Flask(__name__)
@app.route('/', methods=['POST', 'GET'])
def index():
    if request.method == "POST":
        
    return render_template('index.html')

将你的模板更改为以下内容:



  
  
  
    

0