Skip to content

Latest commit

 

History

History
85 lines (59 loc) · 4.59 KB

README.md

File metadata and controls

85 lines (59 loc) · 4.59 KB

Лабораторная работа 4, вариант 16

Постановка задачи

Реализовать веб-приложение с использованием следующих технологий:

  • фреймворк Django
  • ХД mysql или postgresql.

Тема приложения: Сайт отзывов о товарах (аналог irecommend.ru)

  • управление контентом (списком товаров и категориями товаров - CRUD) в админке
  • поиск товара по его описанию
  • отзывы, рейтинг для каждого товара
  • у каждого товара может быть несколько категорий, которые можно прикрепить в админке

Деплой

Лабораторная выполнена с использованием фреймворка Django версии 1.6.2 и базы данных MySql. Python использовался версии 2.7.3.

Как подружить python с mysql. Вариант 1, только для Ubuntu:

  1. sudo apt-get install python-mysqldb

Как подружить python с mysql. Вариант 2, универсальный для Linux-подобных ОС:

  1. sudo apt-get install build-essential python-dev libmysqlclient-dev
  2. pip install MySQL-python

Непосредственно деплой

  1. Выгрузить проект из репозитория:
git clone https://github.com/akonit/lab4.git
  1. Накатить базу данных: в директории lab4 выполнить следующую команду:
mysql -u root -p < db/schema.mysql.sql
  1. Создать в базе данных таблицы: в директории lab4 выполнить следующую команду:
python manage.py syncdb
  1. Согласиться на предложение завести суперпользователя, если такого еще не существует.
  2. Запустить веб-сервер Django:
python manage.py runserver
  1. Приложение доступно по следующему адресу: http://127.0.0.1:8000/products/. Админка (CRUD) доступна по адресу: http://127.0.0.1:8000/admin/. В качестве логина и пароля используются данные суперпользователя, созданного на шаге 4. Вверху страниц есть ссылки для перехода от админки к отзывам и обратно.

Опционально

  1. Следующая команда добавит в созданную схему базы данных тестовые данные:
mysql -u root -p < db/example.sql

Важные моменты в работе с приложением

  1. Для реализации проставления рейтинга продуктам была использована сторонняя библиотека - Jrating.
  2. Назначение категорий продукту производтся на странице редактирования продукта в админке.
  3. Использование пустой строки в качестве критерия поиска по описанию продукта приведет к тому, что будут выведены все продукты.
  4. Категории, назначенные продкуту, можно увидеть на странице отдельного продукта.
  5. Рейтинг продуктов выводится в списке продуктов, а проставляется на странице отдельного продукта
  6. Голосование и написание отзывов не требуют регистрации на сайте. Если при написании отзыва не указать логин, то будет использовано дефолтное значение Anonim.

Андеплой

Откат базы данных выполняется при помощи следующей команды в директории lab4:

mysql -u root -p < db/rollback.sql