gpt4 book ai didi

Python flask 使用按钮触发脚本

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:24 24 4
gpt4 key购买 nike

我正在调查网络,主要是让自己对几件事感到困惑。

首先 - 我需要什么。我的公司在非技术人员使用的 Linux 服务器上运行 Java 应用程序。有时我们必须重新启动这些程序,但首先要杀死它们。

我已经构建了一个小工具(在 linux 上运行),它使用“jps -lm |grep -v Jps”来恢复所有 java 进程,然后使用拆分和模式来制作看起来像它的东西:

You have those programs running:
1. Java A
2. Java B
3. Java C
4. Exit
5. Refresh

他们选择一个数字,它请求批准,如果允许,则终止进程(“kill procId”)并重新启动(循环直到他们输入 4,这会触发“break”)。

现在,我想更上一层楼,使用网络浏览器将它们在我的 Linux 服务器(系统管理员)附近的出现降到最低。

现在,我发现 flask 非常适合我,创建了一个网页,甚至设法让它在整个网络上可用。

我打算做的是,当有人访问该网页时,我的“jps -lm |grep -v Jps”的值将被插入到 html 文件中。当 html 准备好后,他们将被重定向到它,按下适当的按钮,将弹出“onclick=alert('你确定吗?')”,如果获得批准,将触发“subprocess.Popen('kill '+procId, stdout.subprocess.PIPE, shell=True)”命令将终止进程,将它们重定向到我的脚本映射当前运行的 java 的页面,该页面将它们重定向到按钮页面.

除了按钮部分,我什么都能做。不知道如何在按下后使其对 python 可用。

愿意提供任何帮助。对于我打算使用此解决方案的映射脚本:Create a hyperlink (or button) that executes a python script and then redirects when script completes .

抱歉,如果我的问题构建不当,我也会对此提供任何帮助!

谢谢!

最佳答案

看看下面的例子,希望对你有帮助

如果您使用内联 javascript,那么您不必使用此变量并且可以从 ajax 请求访问 url_for()。如果您使用单独的 javascript 文件,那么您必须将此变量放入您的模板中,因为 .js 文件不能呈现 jinja2 代码,如 {{}}

var flask_endpoint = "{{url_for('endpoint_name')}}"

仅在您的应用程序使用 CSRF 的情况下使用:

var csrftoken = "{{ csrf_token() }}";

$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken)
}
}
})

如果没有则跳过上面的内容

你的 javascript 应该看起来像这样(你不必使用 done() 回调

$('#button-id').on('click', function(){

var data = {'key': 'some value'};

$.ajax({
type : "POST",
url : flask_endpoint,
data: JSON.stringify(data),
contentType: 'application/json;charset=UTF-8',
}).done(function (result) {
alert(result);
});

alert('data has been sent to the server');
});

下面是你的 python 代码应该是什么样子

from flask import request
@app.route('/ajax_endpoint', methods=['POST', 'GET'])
def endpoint_name():
# check if the request type is POST (we defined POST for our ajax request)
if request.method == 'POST':
data = request.form['key'] # this is the key in our data object

# do whatever you want with the data

关于Python flask 使用按钮触发脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38849318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com