Express Tutorial Part 5: Displaying library data

该翻译不完整. 请帮助翻译这篇文章英文

现在,我们准备添加显示LocalLibrary网站书籍和其他数据的页面. 这些页面将包括一个主页,该页面显示每个模型类型有多少条记录,以及所有模型的列表和详细信息页面. 在此过程中,我们将获得从数据库获取记录和使用模板的实践经验.

Prerequisites: 完成以前的教程主题(包括Express教程第4部分:路由和控制器 ).
Objective: 了解如何使用异步模块和Pug模板语言,以及如何从控制器函数中的URL获取数据.

Overview

在之前的教程文章中,我们定义了可用于与数据库交互的Mongoose模型 ,并创建了一些初始库记录. 然后,我们创建了LocalLibrary网站所需的所有路由 ,但使用了"虚拟控制器"功能(这些是骨架控制器功能,当访问页面时,它们仅返回"未实现"消息).

下一步是为显示我们的库信息的页面提供适当的实现(我们将在以后的文章中查看实现具有表单的页面,这些表单用于创建,更新或删除信息). 这包括更新控制器功能以使用我们的模型获取记录,以及定义模板以向用户显示此信息.

我们将首先提供概述/入门主题,这些主题说明如何在控制器功能中管理异步操作以及如何使用Pug编写模板. 然后,我们将为每个主要的"只读"页面提供实现,并简要说明它们使用的任何特殊功能或新功能.

在本文的最后,您应该对路由,异步函数,视图和模型在实际中的工作方式有很好的端到端理解.

Displaying library data tutorial subarticles

以下子文章介绍了添加我们显示所需网站页面所需的不同功能的过程. 在继续进行下一个之前,您需要依次阅读和阅读每个内容.

  1. Asynchronous flow control using async
  2. Template primer
  3. The LocalLibrary base template
  4. Home page
  5. Book list page
  6. BookInstance list page
  7. Date formatting using moment
  8. Author list page and Genre list page challenge
  9. Genre detail page
  10. Book detail page
  11. Author detail page
  12. BookInstance detail page and challenge

Summary

现在,我们为网站创建了所有"只读"页面:一个主页,显示每个模型的实例计数,以及书籍,书籍实例,作者和类型的列表和详细页面. 在此过程中,我们已经获得了有关控制器,使用异步操作管理流控制,使用Pug创建视图,使用我们的模型查询数据库,如何从视图将信息传递到模板以及如何创建视图的大量基础知识.并扩展模板. 那些完成挑战的人也将学到一些有关利用瞬间进行日期处理的知识.

在我们的下一篇文章中,我们将基于我们的知识,创建HTML表单和表单处理代码以开始修改站点存储的数据.

See also

 

In this module