Quickstarters
CRUD Samples
如何用Python构建CRUD应用?
32 分
概述 在本教程中,您将学习如何使用 python 构建一个基本的 crud(创建、读取、更新、删除)应用程序。 我们将利用 back4app 作为后端平台,以简化您的数据管理。 本指南将引导您设置 back4app 项目,创建灵活的数据模式,并编写 python 脚本通过 rest api 调用执行 crud 操作。 最初,您将建立一个名为 basic crud app python 的 back4app 项目,提供可扩展的非关系数据存储解决方案。 您将通过定义类及其字段来概述您的数据模型,可以通过 back4app 仪表板手动完成,或借助集成的 ai 代理。 接下来,您将探索 back4app 管理应用程序,这是一个简化数据管理的拖放界面。 最后,您将通过进行 restful api 调用将您的 python 应用程序链接到 back4app,以执行安全的 crud 操作。 完成本指南后,您将开发出一个生产就绪的python应用程序,该程序执行核心crud任务,并具有安全的用户身份验证和数据管理功能。 您将学习什么 如何创建一个基于python的crud应用程序,具有强大的非关系型后端。 构建和集成可扩展后端与您的python代码的技术。 如何高效使用back4app管理应用程序来管理数据记录。 部署方法,包括使用docker对您的python应用程序进行容器化。 先决条件 在继续之前,请确保您具备以下条件: 一个具有新配置项目的back4app账户。 需要帮助?访问 开始使用back4app https //www back4app com/docs/get started/new parse app 。 一个python开发环境。 使用您喜欢的ide(如pycharm或vs code),并确保安装python 3 7或更高版本。 对python、面向对象编程和rest api的基本理解。 如有需要,请参考 python文档 https //docs python org/3/ 。 步骤 1 – 设置您的项目 启动一个新的 back4app 项目 登录到您的 back4app 账户。 选择“新应用”按钮 在您的仪表板上。 输入项目名称: basic crud app python 并按照提示完成设置。 创建新项目 设置完成后,您的项目将出现在仪表板上,为您的后端配置奠定基础。 步骤 2 – 构建您的数据模型 定义您的数据结构 对于这个 crud 应用程序,您需要在您的 back4app 项目中定义多个类(集合)。下面的示例概述了基本 crud 操作所需的基本类及其相应字段。 1\ 项目类别 此类别存储有关每个项目的信息。 字段 数据类型 描述 id 对象id 自动生成的唯一标识符。 标题 字符串 物品名称。 描述 字符串 项目的简要概述。 创建于 日期 标记项目创建时间的时间戳。 更新时间 日期 标记最后修改的时间戳。 2\ 用户类 该类处理用户凭据和身份验证。 字段 数据类型 描述 id 对象id 自动生成的唯一标识符。 用户名 字符串 用户的唯一用户名。 电子邮件 字符串 用户的唯一电子邮件地址。 密码哈希 字符串 用于安全身份验证的哈希密码。 创建于 日期 账户创建的时间戳。 更新时间 日期 账户最后更新时间戳。 您可以通过 back4app 控制面板手动创建这些类并指定字段。 创建新类 您可以通过选择数据类型、命名字段、设置默认值并将其标记为必填项来添加字段。 创建列 使用 back4app ai 代理进行模式配置 back4app ai 代理是嵌入在您的仪表板中的智能工具,可以根据您的需求自动生成数据模式。此功能加速了项目设置,并确保您的模型支持所有必要的 crud 功能。 如何利用 ai 代理: 打开 ai 代理: 登录到您的 back4app 仪表板,并在项目设置中导航到 ai 代理。 概述您的数据模型: 提供详细描述,说明所需的类和字段。 审核并确认: 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 管理应用程序是一个无代码界面,允许您高效管理后端数据。其直观的拖放功能使您能够轻松创建、查看、更新和删除记录。 激活管理应用程序 前往您的 back4app 仪表板上的 “更多” 菜单 选择 “管理应用程序” 并点击 “启用管理应用程序。” 通过设置初始凭据配置您的管理员帐户 。这还将创建角色(如 b4aadminuser ) 和必要的系统类。 启用管理应用程序 启用后,登录管理应用程序以管理您应用程序的数据。 管理应用程序仪表板 使用管理应用程序进行 crud 操作 在管理应用程序中,您可以: 插入记录: 在一个类(例如,项目)中选择 “添加记录” 以添加新数据。 查看和编辑记录: 点击条目以查看其详细信息或更新字段。 删除记录: 删除不再需要的记录。 这个用户友好的界面使数据管理变得轻而易举。 步骤 4 – 将您的 python 应用程序连接到 back4app 在您的后端准备好后,下一步是将您的 python 应用程序链接到 back4app。 在 python 中使用 rest api 调用 由于没有官方的 python parse sdk,您将使用 rest api 调用与 back4app 进行交互。python 的 requests 库非常适合这个。 1\ 安装所需库 运行以下命令以安装 requests 包: pip install requests 2\ 示例:获取项目 以下是一个从您的 back4app 项目中检索项目的 python 脚本: import requests def fetch items() url = "https //parseapi back4app com/classes/items" headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key" } try response = requests get(url, headers=headers) response raise for status() items = response json() get("results", \[]) print("fetched items ", items) except requests requestexception as error print("error fetching items ", error) if name == " main " fetch items() 3\ 创建、更新和删除项目 以下是其他crud操作的示例: import requests import json base url = "https //parseapi back4app com/classes/items" headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" } def create item(title, description) payload = { "title" title, "description" description } try response = requests post(base url, headers=headers, data=json dumps(payload)) response raise for status() print("item created ", response json()) except requests requestexception as error print("creation error ", error) def update item(object id, new title, new description) url = f"{base url}/{object id}" payload = { "title" new title, "description" new description } try response = requests put(url, headers=headers, data=json dumps(payload)) response raise for status() print("item updated ", response json()) except requests requestexception as error print("update error ", error) def delete item(object id) url = f"{base url}/{object id}" try response = requests delete(url, headers=headers) response raise for status() print("item deleted successfully ") except requests requestexception as error print("deletion error ", error) if name == " main " \# example usage create item("sample item", "this is a test item ") \# to update or delete, replace 'object id' with a valid id 根据需要将这些功能集成到您的应用程序逻辑中。 步骤5 – 增强后端安全性 实施访问控制 通过设置访问控制规则来保护您的数据。例如,您可以确保只有项目的所有者可以通过api调用使用特定的acl设置来查看或修改它。 在创建私有项目时,在您的有效负载中包含acl设置。详细配置可以在您的back4app仪表板中处理。 设置类级权限(clps) 在您的back4app项目设置中调整clps,以强制执行默认安全策略,确保只有经过身份验证的用户可以访问某些类。 步骤6 – 实施用户身份验证 管理用户注册和登录 back4app通过其内置的用户类支持用户身份验证。以下示例演示了如何使用python rest api调用注册和验证用户。 import requests import json user url = "https //parseapi back4app com/users" user headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "content type" "application/json" } def sign up(username, password, email) payload = { "username" username, "password" password, "email" email } try response = requests post(user url, headers=user headers, data=json dumps(payload)) response raise for status() print("user registered ", response json()) except requests requestexception as error print("registration error ", error) def log in(username, password) url = f"{user url}/login?username={username}\&password={password}" try response = requests get(url, headers=user headers) response raise for status() print("logged in user ", response json()) except requests requestexception as error print("login error ", error) if name == " main " \# example usage sign up("newuser", "securepassword", "user\@example com") log in("newuser", "securepassword") 此设置支持会话管理、密码重置和其他身份验证功能。 第7步 – 部署您的python应用程序 back4app提供了简单的部署过程。您可以使用docker容器化等方法部署您的python应用程序。 7 1 构建您的python应用程序 打包您的应用程序 使用您喜欢的方法(例如,创建虚拟环境并打包您的代码)。 测试包 确保所有依赖项已安装,并且您的脚本按预期工作。 7 2 组织您的项目结构 一个典型的python项目可能如下所示 basic crud app python/ \| app/ \| | init py \| | main py \| | crud py \| | auth py \| requirements txt \| dockerfile \| readme md 例如,您的 crud py 可能包括上面显示的处理项目的函数。 7 3 将您的 python 应用程序容器化 要将您的应用程序容器化,请在项目目录中包含一个 dockerfile : \# use an official python runtime as the base image from python 3 9 slim \# set the working directory workdir /app \# install required packages copy requirements txt run pip install no cache dir r requirements txt \# copy application code copy \# expose the port your app will run on (if applicable) expose 5000 \# define the default command to run the app cmd \["python", "app/main py"] 7 4 通过 back4app web 部署进行部署 连接您的 github 仓库: 在 github 上托管您的 python 代码,并将其链接到您的 back4app 账户。 设置部署选项: 在 back4app 仪表板中,导航到 web 部署部分,选择您的仓库(例如, basic crud app python ),并选择分支。 配置构建设置: 设置构建命令(例如, pip install r requirements txt ) 并指定启动命令。 部署您的应用程序: 点击 部署 并监控日志,直到您的应用程序上线。 第 8 步 – 总结与未来方向 干得好!您成功构建了一个基于python的crud应用程序,并与back4app集成。 您设置了一个名为 basic crud app python 的项目,定义了items和users的类,并通过back4app管理您的数据。 此外,您使用rest api调用将python脚本连接到back4app,并实施了可靠的安全措施。 下一步: 扩展您的应用程序: 引入额外的功能,如高级过滤、详细视图或实时更新。 增强后端能力: 考虑集成云函数、外部api或高级基于角色的访问控制。 深化您的技能: 访问 back4app文档 https //www back4app com/docs ,探索更多教程以完善您的应用程序。 祝您编码愉快,享受构建您的python crud应用程序的过程!