Форум сайта python.su
Собственно рисую в шаблоне форму
<form action=“advertisement_add” method=“post”>
<p><b>Keyword</b></p>
<input type=“text” name=“keyword” size=“40” />
<p><b>Price, $0.01</b></p>
<input type=“text” name=“price” size=“40” />
<p><b>Advertising Platform</b></p>
<ul>
<li py:for=“platform in platforms”>
<input type=“checkbox” name=“${platform.id}” value=“${platform.name}”/>
<span>${platform.name}</span>
</li>
</ul>
<p><b>Clicks</b></p>
<table>
<tr>
<th py:for=“weight in weights” py:content=“weight.name” />
</tr>
<tr>
<td py:for=“weight in weights”>
<input type=“text” name=“${weight.id}” value=“0”/>
</td>
</tr>
</table>
<input type=“submit” name=“add” value=“Add” />
</form>
Как видно из кода, у меня есть список checkbox`ов и текстовых полей, но что при этом надо передавать обработчику в качестве параметров? У меня не фиксировано количество ни весов ни кликов.
Офлайн
Если я правильно понял вопрос, то речь идет об обработчике формы?
Тогда поставте у обработчика параметры platform и weight
FormEncode обрабатывает имена вида weight.id и отдает их в виде списка weight:
Офлайн
PooHВот такой обработчик при выполнении
Если я правильно понял вопрос, то речь идет об обработчике формы?
Тогда поставте у обработчика параметры platform и weight
FormEncode обрабатывает имена вида weight.id и отдает их в виде списка weight:
Офлайн
Используйте декоратор @validate для обработчика http://docs.turbogears.org/1.0/ValidateDecorator
его можно использовать и без виджетов, он обработает вам параметры как я писал, или объявляйте обработчик как
def advertisement_add(self, *args, **kw):
Офлайн