如何通过单击HTML网页上的按钮来运行python脚本? - javascript

我目前有一个python脚本,可以在运行时更新某些CSV文件(它会通过网络抓取并更新CSV文件的信息)。在我的HTML页面(index.html)中,我在index.html内有一个脚本标签,该脚本标签可读取CSV文件并将其显示为网页上的表格。但是,我现在需要做的是通过按网页上的HTML按钮来更新CSV文件。这将更新CSV文件,因此当我运行按钮以运行JS脚本时,它将具有文件中的更新值。

我搜索了一下,发现很难理解使用flask和Django的含义(我对设置服务器一无所知)。我不想设置Django网页,因为我想使用我编写的当前纯HTML网页。

如果答案是最新的,用于在HTML中运行python脚本的标准解决方案,我将不胜感激。

请询问您是否需要更多信息。谢谢。

参考方案

您需要设置一个Web服务器。 Flask可以用于此目的。因此,您可以创建以下脚本:

from datetime import datetime
from flask import Flask, redirect, request
app = Flask(__name__)

@app.route('/')
def index():
    with open('index.html') as fh:
        return fh.read()

@app.route('/update')
def update_file():
    with open('data.txt', 'w') as fh:
        fh.write(datetime.now().strftime('%H:%M:%S'))
    return redirect(request.referrer)

@app.route('/')提供您的登录页面,该页面存储在index.html中:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Example</title>
</head>

<body>
  <form action="/update">
    <input type="submit">
  </form>
</body>
</html>

此HTML页面包含一个引用/update的提交按钮。在上面的Web服务器脚本中,此路由已使用update_file功能注册。在这里,您可以实现自己的逻辑以对按下按钮做出反应(在示例中,它将当前时间写入服务器上的data.txt)。由于脚本是在服务器上运行的,而浏览器是在客户端上运行的,因此只有在实际上是同一台机器的情况下,即在本地将其用作程序接口时,该脚本才起作用。如果要分离服务器和客户端,则需要引入一种传输数据的方法。

现在,您可以按以下方式运行Web服务器:

$ FLASK_APP=script.py flask run
[...]
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

现在,您可以导航到上面指示的地址,您将进入登录页面。按下按钮将更新文件:

$ tree .
.
├── data.txt    <-- This file gets updated.
├── index.html
├── __pycache__
│   └── script.cpython-38.pyc
└── script.py

html onClick打开url存储在php变量中 - javascript

以下是我的代码,正在获取Uncaught SyntaxError: Unexpected token },但是我的代码中没有看到任何}。 window.open期望用引号引起来的url,我尝试了单引号和双引号的不同组合,但不起作用并且也无法在echo中转义双引号。请帮助谢谢..<?php $a = "https://www.google.co…

Javascript IF语句 - javascript

                        嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]&#…

使用C#和JavaScript绑定HTML - javascript

我想从C#绑定HTML。我尝试了下面的代码HtmlTextWriter.write("<a onclick=\"window.open('', '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=yes…

如何在python中使用机械化单击? - javascript

我有用于身份验证的表格。但是在这种形式下,没有提交按钮,但是它使用了<input>作为按钮。现在我很困惑如何用MECHANIZE单击这种类型的按钮。 到目前为止,我已经做到了:import urllib import re import mechanize from base64 import b64encode 可以用Java脚本完成吗?br …

如何安全地将数据从php表单传递到html - javascript

我有一个html格式的登录系统,我需要将用户名和密码发送回php后端,在那里我可以安全地对其进行加密并将其存储在数据库中。我想知道什么是最新和最安全的方法。请记住,这是密码的准系统字符串形式,请务必谨慎以最安全的方式将其返回。我知道$ _GET和$ _POST是非常不安全的。我是否在将javascript数据发送回服务器之前对其进行加密,因此将javascr…