Папки проекта - 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

Это файл, который лежит в корневой папке и отвечает за компиляцию проекта.