Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过单击HTML网页上的按钮来运行python脚本?_Javascript_Python_Html_Django - Fatal编程技术网

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

Javascript 如何通过单击HTML网页上的按钮来运行python脚本?,javascript,python,html,django,Javascript,Python,Html,Django,我目前有一个python脚本,在运行时更新某些CSV文件(它会在web上抓取并更新CSV文件的信息)。在我的HTML页面(index.HTML)中,index.HTML中有一个脚本标记,用于读取CSV文件并将其显示为网页上的表格。但是,我现在需要做的是通过按下网页上的HTML按钮来更新CSV文件。这将更新CSV文件,因此当我运行按钮运行JS脚本时,它将更新文件中的值 我搜索了一下,发现很难理解他们使用flask和Django是什么意思(我对设置服务器一无所知)。我不想设置Django网页,因为我

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

我搜索了一下,发现很难理解他们使用flask和Django是什么意思(我对设置服务器一无所知)。我不想设置Django网页,因为我想使用我目前编写的纯HTML网页

如果答案与当前在HTML中运行python脚本的标准解决方案一致,我将不胜感激


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

不能在html中运行python。您可以只使用javascript。但是,如果不想更改语言或使用python框架,您可以将信息作为json传递,然后使用javascript。

您不能在html中运行python。您可以只使用javascript。但是,如果不想更改语言或使用python框架,您可以将信息作为json传递,然后使用javascript。

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

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>
现在,您可以导航到上面指示的地址,您将进入登录页。按下按钮可更新文件:

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

├── data.txt您需要设置一个web服务器。可用于该目的。因此,您可以创建以下脚本:

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>
现在,您可以导航到上面指示的地址,您将进入登录页。按下按钮可更新文件:

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


├── data.txt浏览器不会运行python。你需要一台服务器。或者将python重写为javascript以在浏览器中运行,所以我应该调用HTML中的服务器来调用服务器上的python脚本?您可以使用Or(实际上非常简单,最简单的示例有5行代码)。然后您可以发布到该Web服务器并做出相应的反应。@a_guest好的,但我如何在HTML中调用flask或其服务器?浏览器不会运行python。你需要一台服务器。或者将python重写为javascript以在浏览器中运行,所以我应该调用HTML中的服务器来调用服务器上的python脚本?您可以使用Or(实际上非常简单,最简单的示例有5行代码)。然后您可以发布到该Web服务器并做出相应的反应。@a_guest好的,但我如何才能在HTML中调用flask或其服务器?好的,我不介意HTML中的python框架,但我不确定如何在HTML网页中调用它?我会用JavaScript吗?是的,我知道。我在问题中的意思是,我不完全确定如何使用它们(因为服务器),但我不介意使用它们。我也不想使用Django完全创建一个新的HTML网页,我不认为有办法在另一个项目中使用它们。你应该建立一个基于django的项目。如果你不在一个基于JS的项目的中间,你可以尝试Django的文档,它不会花太多时间来完成它。但是如果你不打算学习django,我建议你在python输出中使用json(这并不难,因为你可以得到CSV)。好吧,我不介意HTML中的python框架,但我不知道如何在HTML网页中调用它?我会用JavaScript吗?是的,我知道。我在问题中的意思是,我不完全确定如何使用它们(因为服务器),但我不介意使用它们。我也不想使用Django完全创建一个新的HTML网页,我不认为有办法在另一个项目中使用它们。你应该建立一个基于django的项目。如果你不在一个基于JS的项目的中间,你可以尝试Django的文档,它不会花太多时间来完成它。但是,如果您不打算学习django,我建议您在python输出中使用json(这并不难,因为您可以获得CSV)。哇,谢谢,这很有效。但是,当我单击按钮时,它将变为一个空白页,地址为:?。你知道我点击按钮后如何保持原来的index.html吗?@user12055579你可以
返回重定向(request.referer)
而不是空字符串。请参阅我更新的示例(导入也已更改)。@user12055579这应该是web服务器运行的地址。这真的取决于它的宿主位置(即您网站的URL)。@user12055579我不确定我是否理解您的意思。你需要把它放在某个地方,例如。127.0.0.1表示它托管在您的本地计算机上。@user12055579,正如我提到的,您需要在某个地方托管它。您需要选择主机。有很多选择,正如我提到的heroku.com就是其中之一。哇,谢谢,这很有效。但是,当我单击按钮时,它将变为一个空白页,地址为:?。你知道我点击按钮后如何保持原来的index.html吗?@user12055579你可以
返回重定向(request.referer)
而不是空字符串。请参阅我更新的示例(导入也已更改)。@user12055579这应该是web服务器运行的地址。这真的取决于它的宿主位置(即您网站的URL)。@user12055579我不确定我是否理解您的意思。你需要把它放在某个地方,例如。127.0.0.1表示它托管在您的本地计算机上。@user12055579,正如我提到的,您需要在某个地方托管它。你需要选择