文字列の最後の文字が 's'でない限り、文字列に末尾の 's'を追加しようとしています。これをDjangoのテンプレートでどうやって行うのですか? [-1]以下は、エラーの原因となっている。Djangoのテンプレートタグをサブ文字列にできません
{{ name }}{% if name[-1] != "s" %}s{% endif %}
文字列の最後の文字が 's'でない限り、文字列に末尾の 's'を追加しようとしています。これをDjangoのテンプレートでどうやって行うのですか? [-1]以下は、エラーの原因となっている。Djangoのテンプレートタグをサブ文字列にできません
{{ name }}{% if name[-1] != "s" %}s{% endif %}
{% if name|slice:"-1:"|first != "s" %}s{% endif %}
ジョブはDjangoのスライスフィルタが正しくコロンレスのスライスを処理しないんhttps://docs.djangoproject.com/en/dev/ref/templates/builtins/
はsliceフィルタ
{% if name|slice:"-1" != "s" %}
The Django template system provides tags which function similarly to some programming constructs – an if tag for boolean tests, a for tag for looping, etc. – but these are not simply executed as the corresponding Python code, and the template system will not execute arbitrary Python expressions.
slice built-in filterを使用することを試みます。
あなたが探しているものかどうかは不明ですが、djangoには単語を複数形にする組み込みのテンプレートフィルタがあります。それは単なるそれと呼ばれています:複数形。あなたはこのような何かをしたいと思います :
{{name | pluralize}}
はよう
質問には該当しません。しかし、数値の表示を複数形にする場合に便利です。 – Udi
{% if name|last != "s" %}
を見てみましょうスライス: " - 1"の解決法は機能しません。 |最初のフィルタをさらに活用することは、そのトリックを行うようです。
あなたのスニペットを正確に試しました。私が使用した名前は "Thomas"であり、比較式の左側は "s"ではなく "Thoma"と評価されています。 – ram1
ちょうど "-1"(2番目のコロンなし)にする必要があります。 –
@DanielRoseman私は{{name.slice: " - 1"}}のようにあなたの提案を試みましたが、これもまた "l"(例えば)ではなく "Danie"に評価されました。私はPython 2.5.2を実行しています。あなたの考え? – ram1