-
Создать веб-интерфейс «Телефонный справочник» для конечного пользователя, который будет:
- отображать данные справочника
- делать поиск данных по введенному номеру и имени
- Так же, рекомендуется, создать пагинацию.
-
У администратора должен быть доступ к следующим операциям в админке:
- удалять данные справочника
- обновлять данные справочника
- создавать новые данные
* Python/Django
* HTML, CSS
* Sqlite
* python-3.8
* [Django-2.2.13](https://docs.djangoproject.com/en/2.2/)
* Twitter Bootstrap
* Html
* CSS
* Selenium
* Gherkin
- phonebook - тут реализована логика для телефонного справочника:
- Главная страница с содержимым справочника.
- Форма поиска по номру или имени.
- Accounts - приложение для расширения модели User согласно рекомендациям докумантации Django.
- Не залогиненный пользователь:
- Просмотр записей телефонного справочника
- Делать поиск по имени или номеру
- Пользаватели группы Администраторы:
- удалять данные справочника
- обновлять данные справочника
- создавать новые данные
- Admin
- all
В проекте используется билиотека для работы с изображениями Pillow. По этому, в систему надо загрузить дополнительные пакеты:
$ sudo apt-get install libjpeg-dev zlib1g-dev
Так же для тестов используется Selenium. Чтобы использовать Селениум вам нужно установить драйвер для своего браузера, который будет использоваться для тестов.
Например, драйвер для Google Chrome можно найти здесь: https://sites.google.com/a/chromium.org/chromedriver/downloads. Скачайте драйвер, подходящий под вашу версию Google Chrome (версию можно посмотреть в меню Настройки -> Справка -> О браузере).
Ссылки на драйвера для других браузеров есть в документации по установке Selenium: https://selenium-python.readthedocs.io/installation.html.
Распаковав архив с драйвером вы получите файл, например chromedriver. Поместите его в папку /usr/bin или /usr/local/bin, чтобы он был доступен для прямого запуска из командной строки и сделайте исполняемым командой chmod:
...$ chmod +x chromedriver
...$ sudo mv chromedriver /usr/local/bin/
a. Архив
- Распакуйте папку с проектом: * tar -xvf archive.tar
- Зайти в папку:
cd "ваша папка"
- Cоздайте виртуальное окружение:
python3 -m virtualenv -p python3 venv
- Активируйте его:
. venv/bin/activate
- Устанавите окружение:
(venv)...pip install -r requirements.txt
- Проведите Мигрирую БД:
(venv)...cd source
(venv)...python manage.py migrate
- Загрузите дамп:
(venv)...source$ ./manage.py loaddata fixtures/auth.json
(venv)...source$ ./manage.py loaddata fixtures/dump.json
- Запустить сервер: * ./manage.py runserver
- Остановить сервер: * Ctrl C
- Деактивируйте окружение:
deactivate
- Вы так же можете использовать ваш редактор для дальнейшей работы с проектом.
b. Склонируйте проект с GitHub;
- git clone адрес репазитория "ваша папка"
- повторите шаги с 2 в предыдущем примере.
Для автоматической прогонки имеющихся в приложении тестов необходимо сначала запустить приложение, так же используйте команды:
- Для прогонки тестов:
(venv)...sourse$ ./manage.py test
- Для прогонки тестов использующих сценарии Gherkin:
(venv)...source$ ./manage.py behave