Разработка WEB-сайта "Интернет магазин по продаже IT технологий"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ание содержания диска, date_issue - дата официального выхода записи, price - цена диска в рублях.

Модель Order описывает заказы, сделанные пользователями. Содержит поля user - ник пользователя, disc - лот заказанного диска, date - дата заказа, payd - отметка об оплате заказа, которая будет выполняться менеджерами.

Модель Wish описывает пожелания, оставленные пользователями. Содержит два поля: nickname - ник пользователя и wishtext - текст пожелания.

После создания моделей в файле models.py проверим их правильность командой python manage.py validate. В моделях не найдено ошибок, но прежде чем генерировать таблицы в базе данных, необходимо создать интерфейс администратора.

 

2.4 Создание интерфейса администратора

 

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

Сначала активируем интерфейс путем изменения настроек в settings.py. Затем добавим административные данные во все модели, определив класс admin:Admin:ss

После добавления строки (r^admin/(.*), admin.site.root), в схему url .

 

2.5 Запись данных в базу

 

После настройки интерфейса администратора мы можем сгенерировать таблицы базы данных. Введем команду python manage.py syncdb

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

 

Далее необходимо создать учетную запись суперпользователя или главного администратора, имеющего все права на управление сайтом.

Укажем имя: admin и пароль 1234

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

 

 

 

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

Пройдя по ссылкам добавить и Изменить, мы попадем на страницы, содержащие формы добавления и редактирования.

 

 

Каждое поле, определённое в модели, отображается на форме и для полей различных типов созданы различные элементы управления.

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

При удалении существующего объекта интерфейс администратора запрашивает подтверждение операции для защиты от ошибочного удаления:

 

 

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

 

 

 

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

 

2.6 Разработка отдельных страниц сайта

 

Начнем реализовывать отдельные страницы сайта.

Реализация страниц в joomla происходит с помощью шаблонов. Вначале пишется шаблон html, в котором в определенных местах находятся теги шаблона и переменные. Затем в файле views.py пишется представление - функция, загружающая данный шаблон и подставляющая значения переменных. И наконец, в файле urls.py находится словарь, содержащий ссылки и функции, соответствующие ссылкам.

. Сайт будет представлен несколькими окнами, или фреймами. Вначале следует определить структуру документа, разметить страницы и определить адреса страниц. Шаблон index.html содержит описание фреймов:

 

 

Файл представлений содержит функцию, отображающую шаблон.

 

def mainf(request):render_to_response(index.html)

 

Эта функция не делает ничего, кроме разметки страницы на фреймы. Она вызывается по адресу

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

 

def my_image(request):="""

">

"""HttpResponse(html)

 

. Теперь загрузим меню. Меню описывает шаблон menue.html, содержащий html текст и скрипт, позволяющий управлять загрузкой страниц в главной части окна.

 

html>

<!-- 333multiLoad(doc1) {.frame_A.location.href=doc1;

}

// -->

</p>