Учебник Express часть 5: Отображение данных библиотеки
======================================================

* Назад
* Обзор: Express Nodejs
* Далее

Теперь мы готовы добавить страницы, на которых будут отображаться книги веб-сайта LocalLibrary и другие данные. Страницы будут включать главную страницу, которая показывает сколько записей определённого типа мы имеем и отдельные страницы для детального просмотра записей. Попутно мы приобретём практический опыт в получении записей из баз данных и использовании шаблонов.

| Предварительные знания: | Завершите изучение предыдущих тем учебника (включая Учебник Express часть 4: Маршруты и контроллеры). |
| --- | --- |
| Цель: | Понять, как использовать асинхронный модуль и язык шаблона Pug, и как получить данные из URL в наших функциях контроллера. |

Обзор
-----

В предыдущих статьях учебника мы определили Mongoose модели, которые можно использовать для взаимодействия с базой данных и создания некоторых исходных записей библиотеки. Затем мы создали все маршруты, необходимые для веб-сайта LocalLibrary, но с "фиктивными" функциями контроллеров (это скелетные функции, которые просто возвращают сообщение "не реализовано " при доступе к странице).

Следующим шагом является обеспечение правильных реализаций для страниц, которые отображают информацию из библиотеки (мы рассмотрим реализацию страниц с формами для создания, обновления или удаления информации в последующих статьях). Это включает в себя обновление функций контроллера для извлечения записей с помощью наших моделей и определение шаблонов для отображения этой информации пользователям.

Мы начнём с обзорных / основных тем, объясняющих, как управлять асинхронными операциями в функциях контроллера и как писать шаблоны с помощью Pug. Затем мы предоставим реализации для каждой из наших основных страниц" только для чтения " с кратким объяснением любых специальных или новых функций, которые они используют.

В конце этой статьи вы должны иметь хорошее сквозное понимание того, как маршруты, асинхронные функции, представления и модели работают на практике.

Отображение данных библиотеки — подразделы
------------------------------------------

Следующие подразделы проходят процесс добавления различных функций, необходимых для отображения необходимых страниц веб-сайта. Вы должны прочитать и проработать каждый из них по очереди, прежде чем перейти к следующему.

1. Асинхронное управление потоками с помощью async (en-US)
2. Пример шаблона
3. Базовые шаблоны LocalLibrary
4. Домашняя страница
5. Страница списка книг
6. Страница списка экземпляров книг
7. Форматирование даты с момента использования
8. Страница списка авторов и страница списка жанров
9. Страница сведений о жанре
10. Страница сведений о книге (en-US)
11. Страница информации об авторе (en-US)
12. Страница сведений об экземпляре книги и вызове (en-US)
Итог
----

Теперь мы создали все страницы "только для чтения " для нашего сайта: домашнюю страницу, которая отображает количество экземпляров каждой из наших моделей, а также список и подробные страницы для наших книг, экземпляров книг, авторов и жанров. По пути мы получили много фундаментальных знаний о контроллерах, управлении потоком при использовании асинхронных операций, создании представлений с помощью Pug, запросе базы данных с помощью наших моделей, как передавать информацию в шаблон из вашего представления, а также как создавать и расширять шаблоны. Те, кто выполнил вызов также узнали немного о дате обработки с помощью момента.

В нашей следующей статье мы будем опираться на наши знания, создавая HTML-формы и код обработки форм, чтобы начать изменять данные, хранящиеся на сайте.

Смотрите также
--------------

* Асинхронный модуль (Асинхронные документация)
* Использование механизмов шаблонов с Express (Express документация)
* Pug (Pug документация)
* Moment (Moment документация)
* Назад
* Обзор: Express Nodejs
* Далее
In this module
--------------

* Express/Node introduction
* Setting up a Node (Express) development environment
* Express Tutorial: The Local Library website
* Express Tutorial Part 2: Creating a skeleton website
* Express Tutorial Part 3: Using a Database (with Mongoose)
* Express Tutorial Part 4: Routes and controllers
* Express Tutorial Part 5: Displaying library data
* Express Tutorial Part 6: Working with forms
* Express Tutorial Part 7: Deploying to production (en-US)