2013-08-13 5 views
0

У меня есть форма django с входом в TextField, который я бы хотел превратить в ChoiceField, чтобы я мог покончить с тем, чтобы сравнить похожие ответы, чтобы определить, ссылаются ли они на одну и ту же вещь , Однако число возможных вариантов является непомерно высоким (несколько сотен). Я бы хотел, чтобы это был складной ChoiceField, где пользователи могли выбирать категорию, затем подкатегорию и т. Д., Чтобы на каждом шаге они были представлены только с разумным количеством опций (особенно потому, что многие пользователи находятся на мобильных устройствах с ограниченным размером экрана). Варианты вполне поддаются однозначной категоризации, и поэтому это похоже на хороший способ отображения информации. Однако, хотя я вижу информацию о сворачивании всех видов других видов форм, я не видел, как это сделать. Я даже не знаю, что можно предпринять, чтобы сделать эту работу лучше. CSS или javascript кажутся тем, как большинство людей делают сводные списки, но я не знаю, будет ли любой из них хорошо работать с виджетами django Select. Каков мой лучший вариант для такого рода вещей?Collapsible ChoiceField в Django

Вот варианты, о которых я знаю: 1) Напишите своего рода новый виджет. Это звучит ужасно (на основе моего опыта написания новых виджетов), но если это лучший вариант, я это сделаю. 2) Используйте обычный виджет выбора и используйте javascript, чтобы скрыть параметры. Однако я не совсем уверен, как выбирать опции в чистых группах. 3) Используйте разборный список CSS и скрытое поле формы с небольшим количеством javascript, чтобы захватить значение из списка и вставить его в скрытое поле. 4) Используйте цепочку просмотров, чтобы перейти к наименьшей категории. Это звучит легко, приятно и чисто (потому что вся логика находится на Python, где я чувствую себя комфортно), но требует нескольких перезагрузок, которые могут быть проблематичными для мобильных пользователей.

ответ

0

Если количество подкатегорий бесконечно, это, вероятно, ваш единственный solution. Если это не бесконечно, вы можете уйти с загрузкой всех вариантов на странице сразу вместе со своими родительскими категориями, чтобы вы могли решить, какие варианты показывать через javascript.

+0

Подкатегории не являются бесконечными, но они не фиксированы - пользователь может решить использовать разные варианты с различным количеством уровней категорий. Проблема с javascript - это выбор элементов. Все виджеты widfield автоматически отображаются с тегом

+0

Являются ли id используемым как значение в теге параметра? – schillingt

+0

Непонятно. Таким образом, идентификатор может быть «суровым», но это явно не относится к категории «грызун», не предоставляя другие данные сценарию о том, как сурок является грызуном и млекопитающим. Я добавляю то, что я вижу в качестве моих параметров для начального сообщения, если это поможет. – user1940307

Смежные вопросы