- Создать базу данных в СУБД sqlite.
- Создать необходимые для выполнения задания таблицы и справочные данные (сделать это в виде sql скрипта).
- При запуске приложения проверять на наличие файла БД и при отсутствии файла создавать автоматически на основании sql скрипта.
- Написать wsgi приложение заполнения формы обратной связи с сохранением результата в базу данных. Приложение должно реализовывать возможность просмотра и удаления добавленных записей.
- Приложение должно запускаться на любом web сервере поддерживающем wsgi стандарт.
- Для реализации возможно использовать только стандартные библиотеки и модули python версии 2.6 или более новой. Использование фреймворков и сторонних библиотек запрещено. Желательно при написании кода на javascript так же не применять дополнительные библиотеки.
После запуска приложения при обращении по относительному пути /comment/ должна отображаться форма для заполнения. Форма состоит из следующих полей:
- фамилия (required)
- имя (required)
- отчество
- регион (dd list)
- город (dd list)
- контактный телефон (validate - mask (xxx) xxxxxxx)
- e-mail (validated
- комментарий (text)
- Поля фамилия, имя и комментарий являются обязательными.
- Поле комментарий текстовое.
- Для полей телефон и email следует производить проверку ввода. Номер телефона в формате «(код города) номер».
- Поля с некорректным вводом и не заполненные обязательные поля должны визуально выделяться красным цветом.
- Поля регион и город являются выпадающими списками, при этом список выбора поля город зависит от выбранного поля регион.
- Данные для этих списков должны храниться в СУБД. Значение в поля город должно динамически подгружаться по технологии ajax в соответствии с выбранным полем регион.
- При обращении по относительному пути /view/ должна выводиться таблица со списком добавленных комментариев.
- В этом же представлении должна быть возможность удалить определенную запись.
- При обращении по относительному пути /stat/ должна выводиться таблица со списком тех регионов у которых количество комментариев больше 5, выводить так же и количество комментариев по каждому региону.
- Каждая строчка должны быть ссылкой на список города этого региона в котором отображается количество комментариев по этому городу.