2

開発中の Python Web サイトで Chameleon を使用しています。コードのスニペットを次に示します。

<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

何が間違っているのかわかりません。何か助けはありますか?

4

1 に答える 1

1

了解しました。elseステートメントがなかったため無効だったため、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>
于 2012-04-17T23:17:07.483 に答える