Реализовать веб-приложение с использованием следующих технологий:
- фреймворк Django
- ХД mysql или postgresql.
Тема приложения: Сайт отзывов о товарах (аналог irecommend.ru)
- управление контентом (списком товаров и категориями товаров - CRUD) в админке
- поиск товара по его описанию
- отзывы, рейтинг для каждого товара
- у каждого товара может быть несколько категорий, которые можно прикрепить в админке
Лабораторная выполнена с использованием фреймворка Django версии 1.6.2 и базы данных MySql. Python использовался версии 2.7.3.
Как подружить python с mysql. Вариант 1, только для Ubuntu:
- sudo apt-get install python-mysqldb
Как подружить python с mysql. Вариант 2, универсальный для Linux-подобных ОС:
- sudo apt-get install build-essential python-dev libmysqlclient-dev
- pip install MySQL-python
Непосредственно деплой
- Выгрузить проект из репозитория:
git clone https://github.com/akonit/lab4.git
- Накатить базу данных: в директории lab4 выполнить следующую команду:
mysql -u root -p < db/schema.mysql.sql
- Создать в базе данных таблицы: в директории lab4 выполнить следующую команду:
python manage.py syncdb
- Согласиться на предложение завести суперпользователя, если такого еще не существует.
- Запустить веб-сервер Django:
python manage.py runserver
- Приложение доступно по следующему адресу: http://127.0.0.1:8000/products/. Админка (CRUD) доступна по адресу: http://127.0.0.1:8000/admin/. В качестве логина и пароля используются данные суперпользователя, созданного на шаге 4. Вверху страниц есть ссылки для перехода от админки к отзывам и обратно.
Опционально
- Следующая команда добавит в созданную схему базы данных тестовые данные:
mysql -u root -p < db/example.sql
- Для реализации проставления рейтинга продуктам была использована сторонняя библиотека - Jrating.
- Назначение категорий продукту производтся на странице редактирования продукта в админке.
- Использование пустой строки в качестве критерия поиска по описанию продукта приведет к тому, что будут выведены все продукты.
- Категории, назначенные продкуту, можно увидеть на странице отдельного продукта.
- Рейтинг продуктов выводится в списке продуктов, а проставляется на странице отдельного продукта
- Голосование и написание отзывов не требуют регистрации на сайте. Если при написании отзыва не указать логин, то будет использовано дефолтное значение
Anonim
.
Откат базы данных выполняется при помощи следующей команды в директории lab4:
mysql -u root -p < db/rollback.sql