Динамические формы с Django и Google App Engine? - PullRequest
1 голос
/ 16 февраля 2012

Моя старшая проектная группа и я разрабатываем форму для django в google app engine (python), и нам было интересно, есть ли способ создать динамическую форму.То есть пользователь может нажать кнопку, чтобы добавить поля в форму, например, у нас есть раздел, где пользователь вводит данные о специальных тестах, но в зависимости от ситуации они могут быть от 0 до нескольких тестов.Если пользователь не собирается использовать тесты или использовать только несколько, мы не хотим тратить много места на тонны полей, которые будут пустыми.Мы видели примеры этого, сделанные с помощью форм javascript и html, но не для django, и у нас возникают проблемы с выяснением, как это сделать.Любой совет, как это сделать, или если это вообще возможно?Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 февраля 2012

Ну, если вы не собираетесь использовать какой-либо JavaScript для этого, пользовательский опыт не будет лучшим, но да, есть способы сделать это.

Так как по определению Django генерируетна стороне сервера шаблонов вам нужно заранее знать, сколько дополнительных полей вы собираетесь показывать конечному пользователю.

Простой пример того, как с помощью Django отобразить 4 дополнительных поля:

{% for i in 4|get_range %}
  Extra field: <input name="extra_{{i}}">
{% endfor %}

Даже если вы используете Формы Django , есть способы изменить шаблоны идобавьте свои собственные поля.

0 голосов
/ 16 февраля 2012

Django Formsets могут быть полезны ... https://docs.djangoproject.com/en/dev/topics/forms/formsets/

...