You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在同一Python脚本中实现点击网页链接触发函数调用?

同文件内实现Python函数与HTML交互(无需外部脚本/JavaScript)

可以实现,核心思路是通过CGI环境变量解析用户请求的路径,在脚本内判断并执行对应函数,无需拆分代码或引入JavaScript。

修改后的完整代码

#!/usr/bin/python3
import os

def EchoHello():
    print('Content-type:text/html\r\n\r\n')
    print('<html><body><h3>Hello executed!</h3><a href="/">Back to project list</a></body></html>')

# 获取请求路径
path = os.environ.get('PATH_INFO', '')

# 判断请求并执行对应逻辑
if path == '/EchoHello':
    EchoHello()
else:
    # 输出主页面
    d = '''
    <html>
    <head>
    <title>My Site</title>
    </head>
    <body>
    <h2>Project List</h2>

        <table>
         <tr><th>Active Projects</th></tr>
         <tr><td>Line</td><td>Proj ID</td></tr>
         <tr><td><a href="/EchoHello">Proj100</a></td><td>Calculate ID</td></tr>
        </table>
    </body>
    </html>
    '''
    print("Content-type:text/html\r\n\r\n")
    print(d)

关键说明

  • 导入os模块读取CGI环境变量PATH_INFO,该变量记录了用户请求的URL路径
  • 当用户点击Proj100链接时,请求路径为/EchoHello,脚本判断后直接调用EchoHello()函数并输出对应的响应内容
  • 若请求路径不是/EchoHello,则输出原有的项目列表页面
  • 链接的href改为/EchoHello(去掉原有的括号,避免路径解析问题)

注意事项

  • 确保你的Web服务器已配置支持CGI,并且该脚本具有可执行权限(可通过chmod +x index.py设置,建议将文件名改为index.py更清晰)
  • 函数执行后的响应需要正确输出HTTP头(Content-type:text/html\r\n\r\n),否则浏览器无法正确解析内容

内容的提问来源于stack exchange,提问作者jicman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 03:35:20