Нужно написать сайт-анкету для (полевой) работы с информантом.
На сайте должны быть:
-
Главная страница (127.0.0.1), на которой показывается анкета с полями. Данные, которые будут вводиться в анкету, должны записываться в файл (лучше всего csv).
-
Страница статистики (127.0.0.1/stats), на которой результаты должны систематизироваться и в удобном виде выводиться на экран (это могут быть таблицы, какие-то подсчеты и тд).
-
Страница с выводом всех данных (127.0.0.1/json), на которой возвращается json со всеми введенными на сайте данными. Этот json должен выводиться на веб-странице.
-
Страница поиска (127.0.0.1/search) и результатов поиска (127.0.0.1/results) . В ней нужно сделать минимум два поля поиска (например, текстовый ввод для поиска конкретного слова в ответах и чекбокс, где можно будет выбрать пол информанта). На странице должно быть описано, по каким данным ведется поиск.
Тема может быть любой, вот примеры:
- Лексико-типологическая анкета по какому-то лексическому полю (части тела, цвета, предметы мебели, домашняя утварь и всё, на что хватит вашей лингвистической фантазии). Анкета может быть в виде веб-формы с картинками того предмета/цвета, который должен назвать информант, и текстовыми полями, в которых он впишет названия предмета/цвета на своём языке. Кроме полей для названий предметов/цветов форма будет содержать поле, в котором информант должен будет указать свой язык.
- Сбор словаря/грамматики в экспедиции. Например, в анкете могут быть слова из списка Сводеша, а информант должен ввести их перевод на свой язык. Кроме того, у каждого перевода может быть какой-то комментарий или какая-то другая дополнительная информация.
- Сбор бытовой лексики русского языка. (Посмотрите, как это делает Борис Иомдин, например, вконтакте)
- Что-то социолингвистическое, могут быть вопросы типа голосования (твОрог или творОг?) и обязательно информация о заполняющем (родной город, язык, возраст, образование, пол и тд)
- Что-угодно другое лингвистическое и интересующее лично вас.
Балл | Критерий |
---|---|
1 | Программа запускается и оформлена по PEP8. Соответствие PEP8 можно проверить с помощью команды pycodestyle my_script_name.py в командной строке. |
2 | На сайте есть главная страница с работающей формой-анкетой |
1 | Данные из анкеты сохраняются в файл |
2 | На сайте есть страница со статистикой по всем введенным данным |
2 | На сайте есть страница, при обращении к которой программа выдает пользователю все результаты в json |
2 | На сайте есть страница поиска; поиск работает |
2 | Дополнительный балл за внешнее оформление сайта с использованием bootstrap |
1 | Дополнительный балл: на странице со статистикой есть визуализация: график или диаграмма, сделанная с помощью matplotlib |
NB! Это задание лучше выполнять не в тетрадке, а в виде скрипта с расширением .py
. Папка с html-файлами должна называться templates
и лежать рядом с файлом программы. Если у вас есть картинки, то там же должна быть папка static
с ними.
Картинки нужно сложить в папку static
. В html-шаблоне нужно написать:
<img src="{{url_for('static', filename='image_name.jpg')}}" />
Чтобы просто вставить картинку в html (без фласка), нужно написать так:
<img src="image_name.jpg" />