Glossary exercise overview¶
Variables used¶
- lookup_conditions¶
(dict) словарь условий пользователя для формирования задания, хранится в базе данных (необязательно), модель
GlossaryParams
;- exercise_choices¶
- (dict) словарь возможного выбора для условий:
для фильтрации по датам -
EDGE_PERIOD_CHOICES
;для фильтрации по прогрессу изучения -
PROGRESS_CHOICES
;для фильтрации по категории
GlossaryCategory
;
- exercise_params¶
(dict) json response сервера с параметрами упражнения.
- see also:
Glossary exercise parameters endpoint on GET request method response.
exercise_params = { 'lookup_conditions': lookup_conditions, 'exercise_choices': { 'edge_period_items': EDGE_PERIOD_ALIASES, 'categories': categories, 'progress': PROGRESS_ALIASES, }, }
- lookup_parameters¶
tuple[Q, …] - кортеж инкапсулированых фильтров запроса к модели, формируется контролером при выполнении задания.
Цикл упражнения:¶
Пользователь наполняет коллекцию терминов глоссария.
Пользователь выбирает условия фильтрации терминов для изучения, при выполнении упражнения, что в включает в себя цепочку событий:
- пользователь:
отправляет запрос (GET request params) на получение параметров упражнения по умолчанию;
- сервер, представление
glossary_exercise_parameters()
: извлекает lookup_conditions из базы данных, model
GlossaryParams
;отправляет пользователю exercise_params:
- сервер, представление
- пользователь:
отправляет запрос (POST request params) на сохранение измененного lookup_conditions (необязательно);
- сервер, представление
glossary_exercise_parameters()
: выполняет запрос на сохранение измененных параметров lookup_conditions (необязательно);
- сервер, представление
- пользователь:
отправляет запрос (POST request exercise) на выполнение упражнения, передает неизмененные/измененные параметры lookup_conditions для текущего упражнения.
- сервер, представление
glossary_exercise()
: создает
exercise
- экземплярGlossaryExerciseGUI
и передает ему lookup_conditions;представление через свойство
task_data
экземпляра получает данные задачи и отправляет их пользователю, see: Glossary Exercise endpoint Response.
- сервер, представление
- пользователь:
отмечает
"знаю"
/"не знаю"
значение термина (необязательно), оправляя запрос на POST request progress;отправляет запрос на новое задание (POST request exercise).
- сервер:
представление
update_term_study_progress()
сохраняет обновленный прогресс изучения в базе данных;возвращает новое задание.
- в цикле выполнения упражнения:
пользователь отправляет запрос
"знаю"
/"не знаю"
(необязательно);пользователь отправляет запрос на новое задание;
сервер обновляет прогресс изучения термина (необязательно);
возвращает новое задание.