feat: add support for TABLE_AUTO question type with table input rendering and auto-grading
This commit is contained in:
@@ -31,12 +31,14 @@ class Question(models.Model):
|
||||
TYPE_CHOICES = (
|
||||
('TEXT_AUTO', 'Краткий ответ (автопроверка)'),
|
||||
('FILE_MANUAL', 'Файл/Развернутый ответ (ручная проверка)'),
|
||||
('TABLE_AUTO', 'Таблица (2 столбца, автопроверка)'),
|
||||
)
|
||||
assignment = models.ForeignKey(Assignment, on_delete=models.CASCADE, related_name='questions', verbose_name='Задание')
|
||||
text = RichTextUploadingField('Текст задачи')
|
||||
attached_file = models.FileField('Файл (опционально)', upload_to='questions/', blank=True, null=True, validators=[validate_file_extension])
|
||||
question_type = models.CharField('Тип ответа', max_length=20, choices=TYPE_CHOICES, default='TEXT_AUTO')
|
||||
correct_answer = models.CharField('Правильный ответ (для автопроверки)', max_length=255, blank=True, null=True, help_text='Оставьте пустым, если проверка ручная')
|
||||
table_rows = models.PositiveIntegerField('Количество строк в таблице', default=2, blank=True, null=True, help_text='Укажите количество строк. Столбцов всегда 2.')
|
||||
correct_answer = models.CharField('Правильный ответ (для автопроверки)', max_length=255, blank=True, null=True, help_text='Оставьте пустым для ручной проверки. Для таблицы вводите ответы в формате "Ответ1|Ответ2;Ответ3|Ответ4" (строки через точку с запятой, столбцы через прямую черту).')
|
||||
order = models.PositiveIntegerField('Порядок', default=0)
|
||||
|
||||
class Meta:
|
||||
|
||||
Reference in New Issue
Block a user