66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
|
|
# HTML与Python集成指南
|
|||
|
|
|
|||
|
|
## 技术限制说明
|
|||
|
|
|
|||
|
|
HTML文件**不能直接引用或执行Python文件**,这是因为:
|
|||
|
|
|
|||
|
|
1. **运行环境不同**:
|
|||
|
|
- HTML/JavaScript 运行在浏览器端(客户端)
|
|||
|
|
- Python 运行在服务器端或本地命令行环境
|
|||
|
|
|
|||
|
|
2. **执行方式不同**:
|
|||
|
|
- JavaScript 是解释型语言,浏览器内置了JavaScript引擎
|
|||
|
|
- Python 需要安装Python解释器才能执行
|
|||
|
|
|
|||
|
|
3. **语法和API完全不同**:
|
|||
|
|
- HTML只能识别并加载JavaScript文件(通过`<script>`标签)
|
|||
|
|
- Python文件(.py)无法被浏览器直接解析和执行
|
|||
|
|
|
|||
|
|
## 可行的解决方案
|
|||
|
|
|
|||
|
|
### 方案1:使用PyScript(推荐)
|
|||
|
|
|
|||
|
|
PyScript是一个允许在浏览器中直接运行Python代码的框架。它提供了以下功能:
|
|||
|
|
|
|||
|
|
```html
|
|||
|
|
<!DOCTYPE html>
|
|||
|
|
<html lang="zh-CN">
|
|||
|
|
<head>
|
|||
|
|
<meta charset="UTF-8">
|
|||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|||
|
|
<title>Python in HTML</title>
|
|||
|
|
<!-- 引入PyScript -->
|
|||
|
|
<link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css">
|
|||
|
|
<script defer src="https://pyscript.net/latest/pyscript.js"></script>
|
|||
|
|
</head>
|
|||
|
|
<body>
|
|||
|
|
<!-- 直接在HTML中编写Python代码 -->
|
|||
|
|
<py-script>
|
|||
|
|
print("Hello from Python in HTML!")
|
|||
|
|
# 可以导入Python模块和使用Python语法
|
|||
|
|
</py-script>
|
|||
|
|
</body>
|
|||
|
|
</html>
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 方案2:创建Web应用(高级)
|
|||
|
|
|
|||
|
|
使用Python Web框架(如Flask、Django)创建完整的Web应用:
|
|||
|
|
|
|||
|
|
1. **服务器端**:使用Python处理业务逻辑和API调用
|
|||
|
|
2. **客户端**:使用HTML/JavaScript构建用户界面
|
|||
|
|
3. **通信**:通过AJAX/API实现前后端数据交互
|
|||
|
|
|
|||
|
|
### 方案3:保留现有两个版本
|
|||
|
|
|
|||
|
|
- **网页版**:继续使用index.html + data.js + script.js
|
|||
|
|
- **命令行版**:使用Python版(main.py + data.py + script.py)
|
|||
|
|
|
|||
|
|
## 建议
|
|||
|
|
|
|||
|
|
如果您希望:
|
|||
|
|
- **快速使用**:保留两个版本,分别使用不同的方式运行
|
|||
|
|
- **网页界面+Python功能**:尝试PyScript方案
|
|||
|
|
- **完整Web应用**:学习并使用Python Web框架
|
|||
|
|
|
|||
|
|
请根据您的需求选择合适的方案。
|