Как убрать префикс формы django при рендеринге только имени поля, но не трогая все остальное - PullRequest
1 голос
/ 02 июля 2011

В некоторых представлениях моего приложения Django отображаются два экземпляра одинаковой формы, один включается через процессор контекста, а другой - в представление.Единственная разница между двумя формами - это стилизация и положение, они имеют одинаковые поля и подчиняются одному и тому же виду.

Затем я замечаю, что идентификаторы элементов одинаковы, а некоторые функции, такие какметка клика, которая фокусирует соответствующее поле, ведет себя неправильно, как фокусировка того же поля на другой форме.Затем я добавил префикс формы в первую форму, и, конечно, метки снова заработали.

Но префикс также применяется к именам полей (помимо идентификаторов) и, следовательно, к представлению, которое получает отправленные данные.не работал, так как экземпляр формы был инициализирован без префикса.Кроме того, строка запроса выглядит еще более странно: (*

Я ищу решение, которое сохраняет исходные имена полей без префикса и все еще использует префиксные идентификаторы HTML, поэтому представление продолжает работать без изменений. Или любое другоеспособ отображения двух форм с изолированными идентификаторами, но с одинаковыми именами полей.

1 Ответ

1 голос
/ 03 июля 2011

с использованием префикса полезно иметь несколько форм Django в одном элементе .

Если вы хотите иметь более одного элемента , вы можете использовать FormSets .

...