我之前看过一些类似的问题,但是我找不到这样的问题。我有一个网页(在服务器上),我希望用户点击一个执行python脚本的按钮。我希望这个python脚本在服务器上运行,然后将结果发送回网页并显示它。
当用户单击该按钮时,将发送到服务器的数据将是XML文件。
我只是不知道从哪里开始这一切。我可以用什么来实现这个目标?
感谢您的时间。
编辑:我实际上已经完成并设置了网页,并生成了XML。我只需要在用户点击网页上的按钮时运行python脚本。不确定这是否有帮助,但我发布了它。感谢
我想请一个高级别的解释,谢谢你,因为我不知道已经向我建议了什么。
答案 0 :(得分:2)
python有很多web库。你可以试试瓶子(没有安装的工作,一个文件,只需将“bottle.py”文件放在你的工作文件夹中。一个简单的例子:
from bottle import route, run, static_file, post, request
@route('/js/<filename>')
def js(filename):
return static_file(filename, root='js')
@route('/')
def index():return static_file('tst.html', root='./')
@post('/xml')
def xml():
for x in request.forms:
print(x)
return {'return': 'accepted'}
run(host='0.0.0.0', port=8000)
和html:
<!DOCTYPE html>
<html lang="ro">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>TTL</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<button onclick="test()">Test</button>
<script type="text/javascript">
function test() {
$.ajax({
url: 'xml',
type: 'POST',
data: '<my><xml>string</xml></my>',
dataType: 'json',
success: function (ret) {
alert(ret['return']);
}
});
}
</script>
</body>
</html>
抱歉JQuery,懒得写简单的js xhr。 Bottle有很好的记录,但也有樱桃树,金字塔,django,龙卷风。