gpt4 book ai didi

python - 如何使用 html 按钮运行 python 脚本?

转载 作者:行者123 更新时间:2023-12-01 07:24:26 46 4
gpt4 key购买 nike

我只是想通过单击 html 按钮来运行 python 脚本。python脚本非常简单。当你运行它时,它只是在我的数据库中添加“姓名”和“年龄”数据。

import sqlite3

conn = sqlite3.connect('bdaremplir.sqlite')
cur = conn.cursor()

"""cur.execute('DROP TABLE IF EXISTS latable')
cur.execute('CREATE TABLE latable (noms TEXT, age INTEGER)')"""



nom = 'TheName'
age = 100

cur.execute('''INSERT OR IGNORE INTO latable (noms, age) VALUES ( ?, ? )''', (nom, age))
conn.commit()

和 html 基础知识

<!DOCTYPE html>
<html>
<head>
<title>visualisateur</title>
</head>
<body>
<button></button>
</body>
</html>

现在从这里我根本不知道我能做什么。如果有人可以帮忙...谢谢。

最佳答案

Web 浏览器只知道如何运行 JavaScript,而不知道如何运行 Python,因此除非您真的想在浏览器中运行 Python1,否则您必须了解 the client-server architecture of the web .

基本上,你必须

  1. 使您的 Python 程序可用作 Web 服务器,并且
  2. 单击 HTML 按钮时向该服务器发送请求。

运行网络服务器

用 Python 实现 Web 服务器的方法有很多种。当您开始编写正确的应用程序时,您可能需要使用像 Flask 这样的库。 、 Django 或其他。但要快速入门,您可以 use the built-in Python HTTP server with CGI :

  1. 创建一个名为 handle_request.py 的 Python 脚本,其中包含以下内容:

     #!/usr/bin/env python3
    print("Content-Type: text/plain\n")
    print("hello world")

并将其放入 HTML 文件旁边的 cgi-bin 目录中,并确保可以通过在控制台中输入“handle_request.py”来运行它;2.运行内置HTTP服务器:

    python3 -m http.server --bind localhost --cgi 8000
  • 在浏览器中打开http://localhost:8000访问服务器。
  • 您应该看到目录列表,包括 HTML 文件和 cgi-bin 目录。单击 HTML 文件应将其显示在浏览器中(带有类似 http://localhost:8000/test.html 的 URL),然后打开 http://localhost:8000/cgi-bin/handle_request.py 将运行我们的脚本已创建其响应并将其显示为网页。您可以将代码添加到脚本中,只要浏览器访问其 URL,它将运行。

    从您的网页发出请求

    现在的问题是,当单击页面上的按钮时,如何使浏览器访问 http://localhost:8000/cgi-bin/handle_request.py URL。

    为此,您需要调用 API 以从 JavaScript 发出请求。有不同的方法可以做到这一点(例如 XMLHttpRequestjQuery.ajax()),但在现代 Web 浏览器中工作的一种简单方法是 fetch() :

    <button id="mybutton"></button>

    <script>
    document.getElementById("mybutton").onclick = async function() {
    let response = await fetch("http://localhost:8000/cgi-bin/handle_request.py");
    let text = await response.text();
    alert(text);
    }
    </script>

    现在,当您单击该按钮时,浏览器将向指定的 URL 发出请求(从而运行您的脚本),但结果不是将结果显示为选项卡中的网页,而是可供您的 JavaScript 使用。

    注释

    1 ...此时您可能不知道,但如果您这样做,请参阅 the pointers by Michael Bianconi .

    关于python - 如何使用 html 按钮运行 python 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57528526/

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