Вы бы опубликовали что-то вроде этого (конечно, в кодировке URL)
users-0.name=John
users-0.age=21
users-1.name=Mike
users-1.age=30
...
Сделайте это для пользователей 0-N, где N - это столько пользователей, сколько у вас, с нулевым индексом. Затем на стороне Python после того, как вы пропустите это через variabledecode
, у вас будет:
users = UserSchema.to_python(request.POST)
print users
# prints this:
{'Users': [{'name': 'John', 'age': '21'}, {'name': 'Mike', 'age': '30'}]}
Значения могут отличаться в зависимости от проверки, которая выполняется в вашей схеме. Итак, чтобы получить то, что вы ищете, вам нужно сделать:
for user in users.iteritems():
print "{name} {age}".format(**user)
Обновить
Чтобы встроить список в словарь, сделайте следующее:
users-0.name=John
users-0.age=21
users-0.hobbies-0=snorkeling
users-0.hobbies-1=billiards
users-1.name=Mike
...
Так далее и тому подобное. Шаблон в основном повторяется: {name-N}
вставляет N-й индекс в список, начиная с 0. Убедитесь, что он начинается с 0 и что значения являются последовательными. .
начинает начало свойства, которое может быть скаляром, списком или словарем.
Это документация по Pylons по использованию formencode, см. Таблицу 6 -3 для примера.
person
Jesse Dhillon
schedule
07.08.2010