Skip to content

Latest commit

 

History

History
19 lines (11 loc) · 2.07 KB

README.md

File metadata and controls

19 lines (11 loc) · 2.07 KB

Модуль pages

Page - сущность (ORM Entity) модуля pages приложения Refarm-site.

Page реализует следующую функциональность работы со страницами интернет-магазина:

  • организацию иерархии страниц;
  • применение нумерации (пагинации);
  • работу с SEO: тегами и шаблонами.

Инструкция по работе с seo-шаблонами.

@todo #131:120m Move seo-templates doc to md file in cvs.

Класс Page хранит в себе каждую страницу сайта и поддерживает иерархичность. Например: страницы каждой новости вложены в раздел Новости, страницы каждой категории товаров вложены в раздел Категории товаров, страницы каждого товара вложены в какую-либо из категорий товаров.

Для поддержки иерархичности в Page используется библиотека django-mptt. MPTT - метод хранения древовидных (иерархических) данных в БД (PostgreSQL)

Page реализована в модуле pages. В других модулях Page используется только через наследование - для того, чтобы держать все связи таблиц (ForeignKey) в рамках одного модуля. Иначе - проблемы с Django ORM. Например: модуль catalog использует сущности CategoryPage и ProductPage. Они наследованы от Page и добавляют свою функциональность. Все связи таблиц (ForeignKey) объявлены именно на стороне CategoryPage и ProductPage.