这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
在青训营的项目中,我们需要使用Strapi来作为CMS内容管理。其中最重要的内容就是表设计。其他内容都是相对简单的。本文主要介绍相关表字段。
前言
目前Strapi4更新较快,网络存在的中文教程较少,且缺少较为系统的教程文章。因此,本文旨在系统的介绍一些Strapi表设计的相关内容。
Strapi
Strapi支持多种数据库:MonogoDB、SQLite、MySQL等。但是Strapi对于所有数据库都提供了统一的服务体验,抹平了各个数据库的差异,真正做到了降低后端和数据库开发门槛。可以说,Strapi非常适合大前端开发者使用。
Content-type Builder
设计表、新建表,请在develop环境,其他环境对于Content-type Builder是只读状态。
内容类型由一个或多个字段组成。每个字段都被设计为包含特定类型的数据,填充在 ContentManager 中。
在 Content-type Builder 中,可以在创建新的内容类型或组件时添加字段,也可以在编辑或更新内容类型或组件后添加字段。接下来列出了所有现有的常规字段,另外还有特殊字段:components and dynamic zones。
常规字段
Text
Text 字段显示一个可以包含小文本的文本框。该字段可用于标题、说明等。
Rich Text
富文本字段显示一个带有格式选项的编辑器,用于管理富文本。此字段可用于长写内容。
Number
Number 字段显示任何类型的数字的字段: 整数、十进制和浮点数。
Date
Date 字段可以显示日期(年、月、日)、时间(小时、分钟、秒)或日期时间(年、月、日、小时、分钟和秒)选择器。
Boolean
Boolean 字段显示一个切换按钮来管理布尔值(例如,是或否,1或0,真或假)。
Email
电子邮件字段显示一个带有格式验证的电子邮件地址字段,以确保电子邮件地址是有效的。
Password
Password 字段显示加密的密码字段。
Enumeration
枚举字段允许配置下拉列表中显示的值的列表。可以编写自定义 GraphQL 架构类型以覆盖字段的默认类型,来提供给GraphQL使用。
自 Strapi v4.1.3以来,枚举值应该始终在任何数字之前使用字母字符,否则,当安装 GraphQL 插件时,它可能会导致服务器崩溃而没有通知。
Media
Media 字段允许从上传到应用程序媒体库的文件中选择一个或多个媒体文件(例如图像、视频)。
JSON
JSON 字段允许以 JSON 格式配置数据,以存储 JSON 对象或数组。
UID
UID 字段显示一个设置唯一标识符的字段,可选地基于来自同一内容类型的现有其他字段。
字段的更多设置
| 设置 | 介绍 |
|---|---|
| 默认值 | 字段的默认值 |
| 私有字段 | 使字段成为私有,无法通过API访问 |
| 本地化 | 多语言化,可以设置另一个值作为另一种语言的值 |
| 必须 | 设置后,此字段必须有值 |
| 唯一 | 设置后,此字段值不可重复 |
| 最大长度 | 字段值的最大长度 |
| 最小长度 | 字段值的最小长度 |