当前位置: 首页 > news >正文

宁波北仑做网站团购网站怎么做

宁波北仑做网站,团购网站怎么做,wordpress 5编辑器使用,设计师应该看的网站目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…

目录

    • 1. 环境准备
    • 2. 安装依赖
    • 3. 修改main.py
    • 4. 运行应用
    • 5. API使用示例
      • 获取所有任务
      • 获取单个任务
      • 创建新任务
      • 更新任务
      • 删除任务
    • 中文乱码问题:

下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后修改main.py文件来实现一个基本的RESTful API。

1. 环境准备

uv init 
uv venv
source .venv/bin/activate

2. 安装依赖

uv pip install flask flask-restful

3. 修改main.py

现在,让我们修改main.py文件,创建一个简单的RESTful API:

from flask import Flask, request
from flask_restful import Resource, Api, reqparseapp = Flask(__name__)
api = Api(app)# 内存中的任务列表
tasks = {1: {"task": "学习Flask", "done": False},2: {"task": "学习RESTful API", "done": False},3: {"task": "构建项目", "done": False}
}# 任务计数器
task_id_counter = 3# 创建请求解析器
task_parser = reqparse.RequestParser()
task_parser.add_argument('task', type=str, required=True, help='任务内容不能为空')
task_parser.add_argument('done', type=bool, default=False)# 处理单个任务的资源
class Task(Resource):def get(self, task_id):if task_id not in tasks:return {"error": "任务不存在"}, 404return tasks[task_id]def delete(self, task_id):if task_id not in tasks:return {"error": "任务不存在"}, 404del tasks[task_id]return {"message": f"任务 {task_id} 已删除"}, 200def put(self, task_id):if task_id not in tasks:return {"error": "任务不存在"}, 404args = task_parser.parse_args()tasks[task_id] = {"task": args["task"], "done": args["done"]}return tasks[task_id], 200# 处理任务列表的资源
class TaskList(Resource):def get(self):return tasksdef post(self):global task_id_counterargs = task_parser.parse_args()task_id_counter += 1task_id = task_id_countertasks[task_id] = {"task": args["task"], "done": args["done"]}return tasks[task_id], 201# 注册API路由
api.add_resource(TaskList, '/tasks')
api.add_resource(Task, '/tasks/<int:task_id>')# 主函数
def main():print("启动Flask RESTful API服务器...")app.run(debug=True)if __name__ == "__main__":main()

4. 运行应用

现在您可以运行应用:

uv run main.py

在这里插入图片描述

5. API使用示例

获取所有任务

curl http://127.0.0.1:5000/tasks

在这里插入图片描述

获取单个任务

curl http://127.0.0.1:5000/tasks/1

在这里插入图片描述

创建新任务

curl -X POST http://127.0.0.1:5000/tasks -H "Content-Type: application/json" -d "{\"task\": \"新任务\", \"done\": false}"

在这里插入图片描述

更新任务

curl -X PUT http://127.0.0.1:5000/tasks/1 -H "Content-Type: application/json" -d "{\"task\": \"更新的任务\", \"done\": true}"

在这里插入图片描述

删除任务

curl -X DELETE http://127.0.0.1:5000/tasks/1

在这里插入图片描述

在这里插入图片描述

中文乱码问题:

将原文件中的flask_restful\representations\json.py

from __future__ import absolute_import
from flask import make_response, current_app
from flask_restful.utils import PY3
from json import dumpsdef output_json(data, code, headers=None):"""Makes a Flask response with a JSON encoded body"""settings = current_app.config.get('RESTFUL_JSON', {})# If we're in debug mode, and the indent is not set, we set it to a# reasonable value here.  Note that this won't override any existing value# that was set.  We also set the "sort_keys" value.if current_app.debug:settings.setdefault('indent', 4)settings.setdefault('sort_keys', not PY3)# always end the json dumps with a new line# see https://github.com/mitsuhiko/flask/pull/1262dumped = dumps(data, **settings) + "\n"resp = make_response(dumped, code)resp.headers.extend(headers or {})return resp

改为

from __future__ import absolute_import
from flask import make_response, current_app
from flask_restful.utils import PY3
import jsondef output_json(data, code, headers=None):"""Makes a Flask response with a JSON encoded body"""settings = current_app.config.get('RESTFUL_JSON', {})# 确保不使用ASCII编码中文字符settings.setdefault('ensure_ascii', False)# 如果在调试模式下,设置缩进和排序键if current_app.debug:settings.setdefault('indent', 4)settings.setdefault('sort_keys', True)# 总是以换行符结束JSON输出# 参见 https://github.com/mitsuhiko/flask/pull/1262dumped = json.dumps(data, **settings) + "\n"resp = make_response(dumped, code)resp.headers.extend(headers or {})# 明确设置内容类型为JSON,并指定UTF-8编码resp.headers['Content-Type'] = 'application/json; charset=utf-8'return resp
http://www.dtcms.com/a/461999.html

相关文章:

  • 【SQLite 库】sqlite3_open_v2
  • 无人机巡检光伏电站红外异常检测研究辅导+落地
  • 网站开发完成如何上线jquery效果网站
  • react+andDesign+vite+ts从零搭建后台管理系统(二)-reactRouter
  • @uiw/react-md-editor渲染的markdown如何跳转至指定地方?我来助你
  • Reactor模型和类图设计
  • 包头网站建设易通null wordpress theme
  • 项目外包公司可以去吗九江市seo
  • 专题四:前缀和~
  • C++八股 —— 线程本地存储技术
  • 位运算题5:出现k次与出现1次
  • 我们为什么需要Agent?
  • MLMs之Sora:Sora 2(开启真实物理与创意融合的新一代视频生成平台)的简介、安装和使用方法、案例应用之详细攻略
  • (1)100天python从入门到拿捏
  • 昆明网站定制制作logo网站
  • 个人做哪方面的网站网站续费怎么做
  • Differential evolution with collective ensemble learning
  • 东莞网站推广策划wordpress怎么改标题和meta
  • jquery mvvm框架
  • 做外贸的几个网站如何添加网站白名单
  • 统一 IT 服务台平台:让企业服务运转更高效
  • 在线做c语言题目的网站免费自助在线公司起名
  • 70行代码展现我的“毕生”编程能力
  • C++ List
  • 从指令到智能:大型语言模型提示词工程与上下文工程的综合分析
  • wordpress清理过期文件夹电商seo
  • html网站尺寸成立公司需要哪些资料
  • 物联网边缘节点中的MEMS传感器低功耗设计实战
  • 当工业生产遇上RFID:智能追溯让制造全流程“透明可见”
  • LeetCode 刷题【109. 有序链表转换二叉搜索树】