Я хочу создать настраиваемое поле формы, например поле поиска адреса. Пользователь вводит частичный адрес и может выбрать из списка предложений. С помощью Javascript мне ясно, как это сделать (сделать несколько Ajax, показать всплывающее окно, вернуть окончательное значение с обычным полем HTML).
Как бы я реализовал такой узор в Django без Javascript? Мне нужно специальное поле, где пользователь может нажать ввод (или нажать кнопку). Этот отправляет форму , но не для окончательной обработки. Вместо этого он вычисляет список предложений и снова отображает форму с предложениями (и другими заполненными данными).
Одно из решений, которое я могу себе представить:
- Сделайте поле формы возвращает специальное "неполное" значение
- В представлении откройте форму и проверьте 'addressfield.incomplete'
- Если true, вычислить список, чтобы поле могло отобразить его и снова показать форму
- Если false, обработать форму как обычно
Обратной стороной является то, что для этого требуется сотрудничество со стороны представления и, возможно, объекта формы . Таким образом, это усложняет использование, если я хочу упаковать свое поле в приложение. Есть ли санкционированный способ в Django, чтобы такое «поле частичной отправки» было самодостаточным? OTOH, такое поле могло бы быть слишком большим c ...