1

PHP では、条件演算子を使用して、問題の要素に適用される属性を html 要素に追加することがよくあります。例えば:

<select name="blah">
    <option value="1"<?= $blah == 1 ? ' selected="selected"' : '' ?>>
        One
    </option>
    <option value="2"<?= $blah == 2 ? ' selected="selected"' : '' ?>>
        Two
    </option>
</select>

テンプレートに Mako を使用して、Pylons でプロジェクトを開始しています。どうすれば同様のことを達成できますか? 現在、理想的ではない 2 つの可能性があると考えています。

解決策 1:

<select name="blah">
    % if blah == 1:
    <option value="1" selected="selected">One</option>
    % else:
    <option value="1">One</option>
    % endif
    % if blah == 2:
    <option value="2" selected="selected">Two</option>
    % else:
    <option value="2">Two</option>
    % endif
</select>

解決策 2:

<select name="blah">
    <option value="1"
    % if blah == 1:
        selected="selected"
    % endif
    >One</option>
    <option value="2"
    % if blah == 2:
        selected="selected"
    % endif
    >Two</option>
</select>

この特定のケースでは、値はテストされた変数 (value="1" => blah == 1) と同じですが、. のような他の状況でも同じパターンを使用し<?= isset($variable) ? ' value="$variable" : '' ?>ます。

Mako を使用してこれを実現するクリーンな方法を探しています。

4

1 に答える 1

5

Pythonを実行している場合、「三項演算子」は

# condition ? trueValue : falseValue
trueValue if condition else falseValue
于 2010-05-21T18:50:35.637 に答える