python代码如下:
from flask import Flask, render_template, jsonify
app = Flask(name)
#定义要调用的Python函数
def cac_sum():
“”“示例盘算函数”""
str_print = ‘现在打印这个了,哈哈哈哈哈哈’
return {“result”: str_print} # 返回盘算结果
@app.route(’/’)
def index():
return render_template(‘index.html’)
@app.route(’/calculate’, methods=[‘POST’])
def calculate():
return jsonify(cac_sum())
if name == ‘main’:
app.run(debug=True)
分界限=========
html 代码
html
Python函数调用示例 点击按钮调用Python函数
点击盘算 原版
以下是实现该功能的完备步调和代码示例:
团体方案
利用Python Flask框架搭建后端,HTML+JavaScript作为前端,实现前后端交互。
第一步:安装Flask(需Python情况)
第二步:项目布局
- your_project/
- ├── app.py # 后端代码
- ├── templates/
- │ └── index.html # 前端页面
复制代码 第三步:后端代码(app.py)
- from flask import Flask, render_template, jsonify
- app = Flask(__name__)
- # 定义要调用的Python函数
- def cac_sum():
- """示例计算函数"""
- return {"result": 3 + 5} # 返回计算结果
- @app.route('/')
- def index():
- return render_template('index.html')
- @app.route('/calculate', methods=['POST'])
- def calculate():
- return jsonify(cac_sum())
- if __name__ == '__main__':
- app.run(debug=True)
复制代码 第四步:前端页面(templates/index.html)
- <!DOCTYPE html>
- <html>
- <head>
- <title>Python函数调用示例</title>
- <script>
- function callPythonFunction() {
- fetch('/calculate', {
- method: 'POST'
- })
- .then(response => response.json())
- .then(data => {
- document.getElementById('result').innerHTML = '计算结果:' + data.result;
- })
- .catch(error => console.error('Error:', error));
- }
- </script>
- </head>
- <body>
- <h1>点击按钮调用Python函数</h1>
- <button onclick="callPythonFunction()">点击计算</button>
- <div id="result"></div>
- </body>
- </html>
复制代码 第五步:运行与测试
结果说明
- 点击按钮后会调用后端cac_sum()函数
- 背景盘算结果会通过JSON格式返回
- 前端利用fetch API获取结果并显示
- 每次点击都会重新盘算结果
扩展建议
- 要修改盘算逻辑,直接修改cac_sum()函数内容
- 可添加加载动画(在fetch时显示加载中状态)
- 可添加错误处理处罚机制
- 生产情况建议关闭debug模式
- 可添加参数通报功能(例如让用户输入盘算数值)
这个方案实现了基本的网页调用Python函数功能,可以根据实际需求进一步扩展功能。
服务器访问方式
要实现通过公网IP让所有人访问你的Flask网页应用,需要以下步调:
第一步:基础配置
1. 修改Flask监听地址
在启动应用时添加host=0.0.0.0参数:
- if __name__ == '__main__':
- app.run(host='0.0.0.0', port=5000, debug=False) # 关闭调试模式
复制代码 2. 开放服务器防火墙端口
- Linux(示例为Ubuntu):
- sudo ufw allow 5000/tcp
- sudo ufw reload
复制代码 - Windows:
控制面板 → 系统和安全 → Windows Defender防火墙 → 高级设置 → 入站规则 → 新建规则开放5000端口
第二步:生产级摆设(保举方案)
建议利用Nginx反向署理 + Gunicorn摆设方案:
1. 安装依赖
- pip install gunicorn
- sudo apt install nginx # Linux
复制代码 2. 通过Gunicorn启动应用
- gunicorn -w 4 -b 0.0.0.0:8000 app:app
复制代码 3. 配置Nginx反向署理
创建配置文件/etc/nginx/sites-available/flask_app:
- server {
- listen 80;
- server_name your_server_ip; # 填写实际IP或域名
- location / {
- proxy_pass http://127.0.0.1:8000;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
- }
复制代码 4. 启用配置
- sudo ln -s /etc/nginx/sites-available/flask_app /etc/nginx/sites-enabled/
- sudo nginx -t # 测试配置
- sudo systemctl restart nginx
复制代码 第三步:安全加固
1. 配置HTTPS(强制保举)
利用Let’s Encrypt免费证书:
- sudo apt install certbot python3-certbot-nginx
- sudo certbot --nginx -d your_server_ip
复制代码 2. 防火墙设置
仅开放须要端口:
- sudo ufw allow 80/tcp
- sudo ufw allow 443/tcp
- sudo ufw deny 5000/tcp # 关闭原始端口
复制代码 第四步:运行维护
1. 进程守护(示例用systemd)
创建服务文件/etc/systemd/system/flask_app.service:
- [Unit]Description=Gunicorn instance for Flask AppAfter=network.target[Service]User=ubuntuGroup=www-dataWorkingDirectory=/path/to/your/projectExecStart=/usr/local/bin/gunicorn -w 4 -b 0.0.0.0:8000 app:app
- [Install]WantedBy=multi-user.target
复制代码 2. 启动服务
- sudo systemctl daemon-reload
- sudo systemctl start flask_app
- sudo systemctl enable flask_app
复制代码 访问方式
- 通过欣赏器访问:
- http://your_server_ip # HTTP
- https://your_server_ip # HTTPS
复制代码 注意事项
- 生产情况务必关闭debug=True
- 建议利用非root用户运行服务
- 定期更新服务器系统和Python依赖
- 监控服务器资源利用情况(可利用htop)
- 紧张数据建议配置自动备份
通过以上步调,你的Flask应用即可安全地对外提供服务。如果需要更专业的摆设方案(如Docker化、负载平衡),可进一步说明需求。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |