каскадные формы в Django / else с использованием любых Pythonic framework - PullRequest
3 голосов
/ 14 января 2009

Может ли кто-нибудь указать на пример, написанный на Python (предпочтительно django) с ajax для каскадных форм? Каскадные формы - это, в основном, формы, значения полей которых изменяются, если и когда изменяется другое значение поля. Пример Выберите страну, и тогда изменится штат ...

Ответы [ 2 ]

3 голосов
/ 14 января 2009

Это ( в основном ) интерфейсный материал.

Как вы, возможно, заметили, Django пытается оставить все вещи AJAX на ваше усмотрение, поэтому я не думаю, что вы найдете что-то встроенное для этого.

Однако, используя JS (это то, что вам нужно сделать, чтобы сделать это без отправки миллиарда форм вручную), вы можете легко получить базовое представление django, с которым JS может обмениваться данными:

def get_states(request, country):
    # work out which states are available
    #import simplesjon as sj
    return sj.... 

Затем привяжите ваш AJAX-запрос к событию onchange select (не помню, подходит ли это для полей выбора) и заполните следующее поле, основываясь на возвращении запроса JSON.

10 минут работы с jquery и simplejson.

1 голос
/ 14 января 2009

Я бы также предложил рассмотреть возможность получения всех данных один раз вместо того, чтобы запрашивать значения подполей по одному. Если выбор подполей не меняется часто (штаты / города меняются?) Или огромен в количестве (> 1000), это должно обеспечить наилучшую производительность и сделать его менее сложным.

Вам даже не нужно создавать отдельное представление, просто включите кусок JavaScript (более точное отображение JSON) в свой ответ, содержащий форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...