Python学习
50个Pandas高级操作
盘点66个Pandas函数,轻松搞定“数据清洗”!
Python操作Mysql
学习 python requests模块
python怎么用Google AI
Python 连接 redis
Flask
Flask安装运行
flask路由注册
多种方法获得请求数据
同时使用 POST 和 GET 方法
flask 响应请求
SQLAIchemy 打通数据库通讯
gunicorn 启动flask app
本文档使用 MrDoc 发布
-
+
首页
flask路由注册
## 路由注册: 1. app.route ``` @app.route('/wake', methods=['POST']) ```  2. app.add_url_rule 3. 蓝图 ## 拆分app: 好的,将 student.py 拆分为多个模块可以帮助更好地组织代码。我们可以将路由逻辑、配置和辅助函数分别放在不同的文件中。以下是一个可能的拆分方案: 目录结构 ``` your_flask_app/ ├── app.py ├── config.py ├── routes/ │ ├── student_routes.py │ └── device_routes.py └── static/ └── device3.html ``` 1. config.py 配置文件,用于设置 Flask 应用的基本配置。 python # config.py ``` from flask import Flask from flask_cors import CORS def create_app(): app = Flask(__name__) CORS(app) return app ``` 2. routes/student_routes.py 包含与学生相关的路由逻辑。 python # routes/student_routes.py ``` from flask import request, jsonify def register_student_routes(app): @app.route('/student', methods=['POST']) def process_data(): data = request.get_json() # 获取JSON数据 name = data.get('name') age = data.get('age') address = data.get('address') print(f'Name: {name}, Age: {age}, Address: {address}') # 打印数据 # 假设处理数据成功 success = 1 message = 'Success' mark = 'No Mark' return jsonify({'success': success, 'message': message, 'mark': mark}), 200 ``` 3. routes/device_routes.py 包含与设备相关的路由逻辑。 python # routes/device_routes.py ``` from flask import request, jsonify import requests import urllib.parse import json def register_device_routes(app): @app.route('/wake', methods=['POST']) def wake_device(): sgdz_account = request.json.get('sgdz_account') sgdz_password = request.json.get('sgdz_password') device_name = request.json.get('device_name') value = request.json.get('value') print(f'SGDZ Account: {sgdz_account}, SGDZ Password: {sgdz_password}, Device Name: {device_name}, Value: {value}') # 打印数据 # 定义请求的URL url = "https://songguoyun.topwd.top/Esp_Api_new.php" # 构建请求的JSON数据 data = { "sgdz_account": sgdz_account, "sgdz_password": sgdz_password, "device_name": device_name, "value": value } # 将整个JSON编码 json_data = json.dumps(data) urlencoded_data = urllib.parse.quote(json_data) # 发送POST请求 response = requests.post(url, data=urlencoded_data) # 返回响应结果 return jsonify(response.json()) @app.route('/device3.html') def serve_html(): return app.send_static_file('device3.html') ``` 4. app.py 主应用文件,负责创建 Flask 应用并注册路由。 python # app.py ``` from config import create_app from routes.student_routes import register_student_routes from routes.device_routes import register_device_routes app = create_app() # 注册学生相关的路由 register_student_routes(app) # 注册设备相关的路由 register_device_routes(app) if __name__ == '__main__': app.run(host='0.0.0.0', debug=True) ``` 5. static/device3.html 静态文件,保持不变。 ``` html <!-- static/device3.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Device 3</title> </head> <body> <h1>Device 3 Page</h1> </body> </html> ``` 通过以上步骤,你可以将 student.py 拆分为多个模块,使代码更加清晰和易于维护。每个模块负责特定的功能,主应用文件 app.py 负责创建应用并注册所有路由。
dz
2024年11月25日 09:58
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码