logo
Разработка Web-приложения для создания презентаций

2.3 Разработка макетов страниц

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

За основу страниц можно взять макет из двух колонок, представленный на рисунке 2. Данный макет универсален и часто применяется для структуризации данных на веб-страницах [29]. Он позволяет разместить все необходимые данные в соответствии с условиями задачи, а также подходит под все типы страниц проекта.

Рисунок 2 -- Макет из двух колонок

Правая колонка макета содержит дополнительную информацию, поэтому её ширину можно установить в 300 пикселей. Основная часть страницы -- центральная колонка -- займет оставшуюся ширину, что вполне достаточно при минимальной ширине страницы на экране в 1024 пикселя, в соответствии с условиями разработки, описанными в п. 1.2 данной работы.

Детальные макеты страниц создаются в любом графическом редакторе или в виде эскизов на бумаге.

2.4 Разработка структуры базы данных

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

Хорошо спроектированная структура базы данных -- один из главных факторов быстродействия и расширяемости сайта. В Django работа с базами данных осуществляется с помощью ORM [17], которая представляет все таблицы, поля и запросы в базу данных в виде объектов с методами и параметрами, что избавляет от необходимости писать SQL-запросы вручную независимо от того, какая СУБД используется в данный момент.

Следует заметить, что разработчики Django изначально рекомендовали СУБД PostgreSQL, а также что некоторые сложные приложения работают только с этой СУБД за неимением достаточного функционала в остальных [42].

Для описания структуры базы данных в Django используются классы Python. Каждый класс представляет собой таблицу, а свойства класса являются ее полями. Причем, свойства класса, в свою очередь, являются объектами, созданными на базе встроенных классов, служащих для описания типов данных полей в базе с их параметрами.

На рисунке Е.4 из приложения Е показан код, описывающий две таблицы в базе данных. Эти таблицы представляют собой структуру информационных страниц с материалами о работе с сайтом:

- Класс Category описывает категорию страницы и имеет лишь одно текстовое поле «title». В этом поле сохраняется название категории.

- Класс Page описывает страницу и представляет собой таблицу с четырьмя полями - «title», «text», «category» «slug».Поле «category», служит для связи с помощью Foreign Key таблицы Page с Category. Иными словами, поле указывает принадлежность страниц к категории. Первое и второе поле - название и тексты страницы. Поле «slug» - текстовый идентификатор блюда, который используется для формирования URL, о чем сказано в п. 2.5.

Рисунок 3 -- Внешний вид таблиц в панели администратора Django

Следует заметить, что для работы с базой данных в состав Django включено приложение admin, которое автоматически собирает все описания таблиц и выстраивает для работы с ними соответствующие формы, которые собираются в единый интерфейс панели администратора сайта (см. рисунок 3). Весь процесс происходит автоматически [36].

Интерфейс встроенной панели администратора сайта удобен для повседневной работы, а его автоматическое формирование избавляет от большого объема работы по разработке и проектированию.