Гайд для запуска тестового задания. Нам необходимо два терминала.
-
Открываем терминал #1. Копируем в нужную папку репозиторий и заходим в него.
$ git clone https://github.com/yeahframeoff/skein-test-task.git yefremov-task $ cd yefremov-task
-
Создаем в папке на один уровень выше виртуальное окружение и указываем Python3 в качестве образца
$ cd .. $ virtualenv --no-site-packages --distribute -p python3 yefremov $ ./yefremov/scripts/activate.sh (yefremov)$ cd yefremov-task
-
Устанавливаем необходимые пакеты:
(yefremov)$ pip install -r requirements.txt
-
Применяем миграции и импортируем данные:
(yefremov)$ python manage.py migrate (yefremov)$ python manage.py loaddata "book_store/book_data.json"
-
Запускаем сервер:
(yefremov)$ python manage.py runserver 7000
-
В терминале #2 переходим в папку с проектом и тоже активируем виртуальное окружение:
$ cd /path/to/yefremov-task $ ../yefremov/scripts/activate.sh
-
Там же запускаем наш брокер сообщений:
(yefremov)$ celery -A skein_testtask worker --loglevel=info
-
В браузере открываем запущенный сайт ([localhost:7000] (http://localhost:7000))
-
Вводим интересующие нас параметры поиска, нажимаем "Поиск" и переходим в терминал #2. В течение нескольких секунд должно появиться письмо с результатами поиска. Для простоты проверки был использован консольный бекенд Django для отправки email.
-
Для проверки данных создадим пользователя админки:
(yefremov)$ python manage.py createsuperuser
Выберите подходящие для вас логин, email и пароль После этого переходим в админку ([localhost:7000/admin] (http://localhost:7000/admin)) и вводим входные данные вновь созданного администратора.
В папке book_import
находится текст тестовой книги hobbit.txt
и скрипт для импорта книги в библиотеку hobbit_to_fixture.py
(скрипт не создает фикстуры, а сохраняет импортированные данные в БД).
Для импорта использовалась следующая команда:
(yefremov)$ python manage.py shell
...
>>> exec('book_import/hobbit_to_fixture.py')
...
>>> exit()