2012-04-17 4 views
2

Я использую Chameleon на веб-сайте Python, который я разрабатываю. Вот фрагмент кода:Что не так с этим шаблоном ZPT?

<option tal:repeat="option options" 
     value="${option.isoformat()}" 
     selected="${if request.get_param('%s%d%s' %(day, row, type))==option.isoformat(): 'selected'}"> 
    ${int(option.strftime('%I'))}${option.strftime(':%M%p')} 
</option> 

Но по какой-то причине я всегда получаю ошибку синтаксиса:

ExpressionError: invalid syntax 

- String: "if request.get_param('%s%d%s' %(day, row, type))==option.isoformat(): 'selected'" 
- Filename: /Users/theron/Sites/python/restaurateur/views/settings/hours.pt 

Я не вижу, что я делаю неправильно. Любая помощь?

ответ

1

Хорошо, я подумал, что это было неверно, потому что не было никакого выражения, поэтому не было вывода, когда выражение if оценивалось как false. Я зафиксировал его следующим образом:

<option tal:repeat="option options" 
     value="${option.isoformat()}" 
     tal:attributes="selected 'selected' if request.get_param('%s%d%s' %(day, row, 
     type))==option.isoformat() else None"> 
    ${int(option.strftime('%I'))}${option.strftime(':%M%p')} 
</option>