Папки проекта - acRnR/learner_corpus GitHub Wiki
В проекте существует следующие важные папки:
- learner_corpus
- TestCorpus
- annotator
- templates
learner_corpus
Это системная папка, в которой реализована настройка проекта. В ней лежат два файла, которые могут потребовать исправлений: settings.py и urls.py. Эти файлы необходимо проверять при каждом значительном изменении. Ошибки в этих файлах приводят к падению всего проекта целиком.
settings.py -- содержит информацию об установленных приложениях, информацию для подключения к базе данных, о языках (для интернационализации сайта) и некоторую другую системную информацию.
urls.py -- содержит информацию о доступных ссылках для проекта и какие функции вызываются по этим ссылкам.
TestCorpus
В этой папке находится одна важная папка, которая называется static. По какой причине она лежит именно там -- неизвестно, но поскольку переправлять пути уже не хочется ее так никуда и не переместили. В этой папке находятся все bootstrap шрифты и css, js функции, картинки и проч. Все можно при надобности исправлять.
Перейдем к важным файлам:
db_utils.py -- файл содержит класс подключения к базе данных. Особенность: имеет свою особую функцию выполнения запроса (более удобную в этом корпусе).
forms.py -- файл, содержащий все формы, используемые в корпусе. Нужны, чтобы работать с введенными значениями.
search.py -- файл, в котором реализовано много функций, конструирующих запрос к базе данных на основании введенной информации и получающих перечень предложений, которые обрабатываются другими функциями/классами в этом же файле, чтобы красиво выводиться пользователю.
views.py -- файл, отвечающий за вывод информации пользователю. Здесь находятся два класса: класс Search, отвечающий за вывод результатов поиска; класс Statistics, отвечающий за подсчет и вывод статистики по корпусу.
annotator
В этой папке находится все, что связано с доступом других пользователей к сайту (имеется в виду не обычный просмотр и поиск), или администрированием.
Важными файлами в этой папке являются:
admin.py -- в этом файле задаются все важные элементы панели управления администратора.
models.py -- файл, в котором задаются классы и функции, моделирующие поведение определенных объектов. Например, здесь еcть классы, описывающие такие объекты, как документ (Document), предложение (Sentence), аннотацию (Annotation), токен (Token) и морфологию в целом (Morphology). Для всех объектов этих классов заданы определенные атрибуты и методы, которые можно от них вызывать.
urls.py -- этот файл, также как и learner_corpus\urls.py, содержит информацию о доступных ссылках для проекта и какие функции вызываются по этим ссылкам, но применительно только к той части, которая касается администрирования.
views.py -- содержит классы, которые отвечают за внешний вид страниц, доступных для пользователей с правом доступа. Одним из самых важных классов в этом файле является EditorView2, который отвечает за вывод текста для аннотирования (get_context_data) и отображение аннотаций (jquery).
templates
Папка, в которой хранятся все html шаблоны, используемые в проекте (папки внутри не имеют особого значения, все могло бы лежать под одной директорией).
manage.py
Это файл, который лежит в корневой папке и отвечает за компиляцию проекта.