设计数据结构

最后更新:2026年6月22日

要构建一个博客服务,首先需要定义将要处理哪些数据。仅仅搭建好页面,服务是无法运转的。文章的正文、图片、附件等信息以何种形式存储和管理,必须经过清晰的设计。

确定文章需要哪些内容

本示例中要构建的 Tech Blog 是一个把所写文章传递给访客的服务。因此,每一篇文章都以文本为核心组成,并且要能够根据需要插入图片或附加文件。此外,还要能够把多篇文章按最新顺序排列展示,并能将特定文章设置为不向外公开。在此基础上,还需要按主题对文章进行分类的类别。

归纳起来,我们要创建的文章应当具备以下内容。

  • 基于文本的正文
  • 图片与附件
  • 按创建时间排序
  • 公开与否的设置
  • 类别分类

Content Type:数据的设计图

在 WEEGLOO 中,要定义这样的数据结构,会使用名为 Content Type 的资源。Content Type 是一种“数据设计图”。它是预先确定要创建的数据具有哪些项目(Field)的模板。每一篇文章都是遵循这个模板的 Content。也就是说,Content Type 确定数据的形态,而 Content 则是按这个形态创建出来的实际数据。

现在前往 Content Type 页面,创建一个新的 Content Type。名称设为 Article。这个 Content Type 将成为今后表示每一篇博客文章的基准。

  1. 在左侧菜单中点击 Content Types
  2. 点击右上方的 Create
  3. 在名称栏中输入 Article,然后点击 Continue

Create Content Type 对话框。在名称栏中输入了 "Article" 的样子

配置文章的 Field

创建 Content Type 之后,逐个添加文章所需的 FieldField 是构成文章的数据项目,每个 Field 都会一并确定要存放何种类型的值以及是否必填等。

按如下方式配置五个 Field

Field类型列表类型必填
titleShort Text
bodyLong Text
imagesMedia
attachmentsMedia
categoryShort Text
  • title 是文章的标题。因为是简短的一行,所以用 Short Text 类型接收;因为不能为空,所以设为必填。
  • body 是实际的正文。因为是段落较长的内容,所以采用 Long Text 类型,同样指定为必填。
  • images 可以放入一张以上,所以将 Media 类型设置为作为列表类型使用。并且为了只能上传图片文件,将允许的种类限制为图片。
  • attachments 同样将 Media 类型设为列表,但因为没有也可以,所以从必填中去除。
  • category 是对文章进行分类的 Field。用 Short Text 类型接收并设为必填。此外,为了只能选择规定的值,将可输入的值限制为 WebMobileServerNews 四种。

Article Content Type 中配置了五个 Field(title、body、images、attachments、category)的样子

这样定义好 Content Type 之后,就可以基于这个结构创建实际的文章数据。关于确定 Field 的类型、列表、必填、有效性条件的方法,在 Content 建模中有更详细的介绍。

现在数据结构已经准备就绪,在下一步中,我们将基于这个结构创建实际的文章。

  • 添加数据:创建并发布遵循 Article 结构的实际文章。