3

これら 2 つのコマンドは、Django テンプレートで同じ機能を持っていますか?

{{ foo|default:"bar" }}

{% firstof foo "bar" %}

これらが同じように機能する場合、ベストプラクティスは何ですか? firstof2 つ以上の引数がある場合にのみ使用するか、常に ? を使用しますfirstof

4

1 に答える 1

3

defaultの特殊なケースと考えることができますfirstof

firstofそうでない最初の変数を出力しますFalse-句を考えてくださいor-オブジェクトのいずれかが評価されるまで評価され、Trueそれを返します。

複数の値を比較するために使用できますがdefault、特定のオブジェクトに使用されます。

defaultオブジェクトが評価された場合、指定されたデフォルト値を出力しますFalse

于 2013-06-19T14:04:38.950 に答える