Quickstarters
CRUD Samples
如何用Flask开发CRUD应用?
30 分
概述 本教程将指导您使用 flask 构建一个 crud(创建、读取、更新、删除)应用程序。 我们将集成 back4app 作为我们的后端服务,以简化数据管理。您将学习如何设置 back4app 项目,设计灵活的数据结构,并使用 flask 实现 crud 功能。 在本教程中,您将首先创建一个名为 basic crud app flask 的 back4app 项目,该项目提供强大的非关系数据存储解决方案。 您将手动或使用 back4app 的 ai agent 定义数据模式,包括类和字段。 在使用 back4app 的管理界面配置后端后,您将通过 rest api 调用将 flask 应用程序连接到该服务。本教程还涵盖了数据的安全访问管理。 到最后,您将拥有一个生产就绪的 flask 应用程序,能够执行 crud 操作,并具备安全的用户身份验证和数据处理功能。 您将学习什么 如何创建一个基于 flask 的 crud 应用程序,使用非关系型后端。 如何在 back4app 上构建您的后端并将其与 flask 项目集成。 如何利用 back4app 管理界面轻松管理 crud 操作。 如何部署您的 flask 应用程序,包括使用 docker 进行容器化。 先决条件 在您开始之前,请确保您拥有: 一个配置好的 back4app 账户和项目。 需要帮助?请参考 开始使用 back4app https //www back4app com/docs/get started/new parse app 。 一个设置好的 python 开发环境。 使用 vscode 或 pycharm 等编辑器,并安装 python 3 8(或更高版本)。 对 python、flask 和 rest api 的基本知识。 如有必要,请查阅 python 文档 https //docs python org/3/ 。 步骤 1 – 初始项目设置 创建您的 back4app 项目 登录到您的 back4app 账户。 点击 “新应用” 从您的仪表板 输入项目名称: basic crud app flask 并完成设置过程。 创建新项目 创建后,您的项目会出现在仪表板上,作为您后端配置的基础。 步骤 2 – 构建数据架构 定义您的数据结构 对于这个应用程序,您将在您的 back4app 项目中建立几个类。以下是核心类及其字段的示例,这些字段对于 crud 操作至关重要。 1\ 项目类 字段 类型 描述 id 对象id 自动生成的唯一标识符。 标题 字符串 项目的名称或标题。 描述 字符串 该项目的简要概述。 创建于 日期 项目创建时的时间戳。 更新时间 日期 最新更新的时间戳。 2\ 用户类别 字段 类型 描述 id 对象id 自动生成的唯一标识符。 用户名 字符串 用户的唯一用户名。 电子邮件 字符串 独特的电子邮件地址。 密码哈希 字符串 用于身份验证的安全哈希密码。 创建于 日期 用户账户创建的时间戳。 更新时间 日期 上次账户更新的时间戳。 您可以在 back4app 控制面板中直接创建这些类并添加字段。 创建新类 您可以通过选择数据类型、命名字段、设置默认值并将其标记为必填项来添加列。 创建列 利用 back4app 的 ai 代理进行模式创建 仪表板中的 ai 代理可以根据您的指示自动建立模式。此工具简化了过程,并确保您的数据模型适合 crud 任务。 如何使用 ai 代理: 打开 ai 代理: 登录到您的 back4app 仪表板,并在项目设置中找到 ai 代理。 描述您的模式: 提供详细的提示,列出类和字段。 确认设置: 审查提议的模式并批准更改。 示例提示 create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) 这个由人工智能驱动的过程节省了时间,并保证了一致有效的数据模型。 步骤 3 – 启用管理界面和处理 crud 操作 管理界面概述 back4app 的管理界面提供了一种无代码解决方案来管理您的后端数据。通过其拖放功能,您可以轻松执行 crud 操作,例如添加、编辑或删除记录。 启用管理界面 前往您的 back4app 仪表板上的 “更多” 菜单 。 选择 “管理应用” 并点击 “启用管理应用。” 创建您的管理员账户, 这也设置了初始角色,如 b4aadminuser 。 启用管理应用 激活后,登录管理界面以管理您的项目数据。 管理应用仪表板 使用管理界面进行 crud 操作 在管理界面中,您可以: 插入新条目: 在一个类(例如,项目)中点击“添加记录”以创建新数据。 查看和修改条目: 选择任何记录以查看详细信息或更新字段。 删除记录: 删除不再需要的条目。 这个易于使用的界面通过简化后端管理来提高生产力。 步骤 4 – 将您的 flask 应用程序连接到 back4app 在设置好后端后,下一步是将您的 flask 应用程序链接到 back4app。 从 flask 进行 api 调用 由于没有专门的 parse sdk 用于 flask,您将使用 rest api 调用。在您的 flask 应用中,您可以利用 requests 库来执行 crud 操作。 示例:设置 api 通信 安装请求库: 在终端中运行以下命令: pip install requests 为api调用配置python模块: 创建一个名为 back4app api py # back4app api py import requests application id = "your application id" rest api key = "your rest api key" base url = "https //parseapi back4app com/classes" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def get items() response = requests get(f"{base url}/items", headers=headers) return response json() def create item(title, description) data = {"title" title, "description" description} response = requests post(f"{base url}/items", headers=headers, json=data) return response json() def update item(object id, title, description) data = {"title" title, "description" description} response = requests put(f"{base url}/items/{object id}", headers=headers, json=data) return response json() def delete item(object id) response = requests delete(f"{base url}/items/{object id}", headers=headers) return response json() 在flask路由中集成api函数: 例如,在 app py # app py from flask import flask, request, jsonify, render template from back4app api import get items, create item, update item, delete item app = flask( name ) @app route("/") def index() items = get items() return render template("index html", items=items get("results", \[])) @app route("/add", methods=\["post"]) def add item() title = request form get("title") description = request form get("description") result = create item(title, description) return jsonify(result) @app route("/update/\<item id>", methods=\["put"]) def modify item(item id) data = request get json() result = update item(item id, data get("title"), data get("description")) return jsonify(result) @app route("/delete/\<item id>", methods=\["delete"]) def remove item(item id) result = delete item(item id) return jsonify(result) if name == " main " app run(debug=true) 这个例子说明了如何在flask中使用rest调用与您的back4app后端进行交互。 步骤 5 – 保护您的后端 实施访问控制 通过配置访问控制来保护您的数据。例如,在创建新项目时,您可以限制对其创建者的访问。 以下是使用受控访问的 api 调用示例: import requests def create private item(title, description, user token) data = {"title" title, "description" description} headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "x parse session token" user token, "content type" "application/json" } response = requests post("https //parseapi back4app com/classes/items", headers=headers, json=data) return response json() 配置类级权限 直接在 back4app 仪表板中调整类级权限 (clps),以确保只有经过身份验证的用户可以访问特定类。 步骤 6 – 实施用户身份验证 设置用户管理 back4app 通过其用户类提供内置用户管理。在您的 flask 应用中,您可以创建注册和登录的端点。 示例:用户注册和登录 \# auth py import requests application id = "your application id" rest api key = "your rest api key" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def register user(username, password, email) data = {"username" username, "password" password, "email" email} response = requests post("https //parseapi back4app com/users", headers=headers, json=data) return response json() def login user(username, password) params = {"username" username, "password" password} response = requests get("https //parseapi back4app com/login", headers=headers, params=params) return response json() 您可以创建相应的 flask 路由来处理用户注册和登录,使用这些函数。 第 7 步 – 部署您的 flask 应用程序 back4app 简化了部署。您可以通过多种方法部署您的 flask 应用,包括 docker。 7 1 打包您的 flask 应用程序 准备您的应用程序: 确保所有必需的文件和依赖项都包含在内。 本地测试: 使用以下命令在本地运行您的应用: flask run 7 2 组织您的项目结构 一个典型的结构可能是: basic crud app flask/ \| app py \| back4app api py \| auth py \| templates/ \| | index html \| static/ \| requirements txt \| dockerfile 7 3 使用 docker 容器化 在项目根目录中包含一个 dockerfile : \# use a lightweight python image from python 3 9 slim \# set the working directory workdir /app \# install dependencies copy requirements txt run pip install no cache dir r requirements txt \# copy the application code copy \# expose the port flask runs on expose 5000 \# start the flask app cmd \["python", "app py"] 7 4 通过 back4app web 部署 连接您的 github 仓库: 确保您的代码已推送到 github。 配置部署设置: 在 back4app 仪表板中,使用 web 部署 功能链接您的仓库(例如, basic crud app flask ) 并选择您的分支。 定义构建命令: 指定构建命令(例如, pip install r requirements txt ) 和您的应用程序位置。 部署: 点击 部署 并监控日志,直到您的应用程序上线。 第 8 步 – 总结与未来方向 干得好!您已经成功创建了一个基于 flask 的 crud 应用程序,并与 back4app 集成。 您建立了一个名为 basic crud app flask 的项目,定义了项目和用户的数据模型,并通过 back4app 管理界面管理您的后端。 此外,您通过 rest api 调用连接了您的 flask 应用程序,并实施了安全措施。 接下来是什么? 扩展功能: 考虑添加高级搜索、详细项目视图或实时更新等功能。 增强后端服务: 探索云函数,集成第三方 api,或实施基于角色的访问控制。 深化您的技能: 访问 back4app 文档 https //www back4app com/docs 和其他资源,以进一步完善您的应用程序。 祝您编码愉快,祝您的 flask crud 应用程序好运!