strings = ["abc", "a", "bc"]
str = "bc"
は私がしたい:これはジャンゴで許可されているよう
{% if str is in strings %}
は見えません。リスト内の値をチェックするための適切な構文またはメソッドは何ですか?
strings = ["abc", "a", "bc"]
str = "bc"
は私がしたい:これはジャンゴで許可されているよう
{% if str is in strings %}
は見えません。リスト内の値をチェックするための適切な構文またはメソッドは何ですか?
これはGoogle App Engineで動作するアプリです。このトリックを行うカスタムフィルタを次に示します。
from google.appengine.ext.webapp import template
from django import template as django_template
def in_list(value, arg):
"""
Given an item and a list, check if the item is in the list.
Usage:
{% if item|in_list:list %}
in list
{% else %}
not in list
{% endif %}
"""
return value in arg
register = template.create_template_register()
ifinlist = register.filter(in_list)
これはテンプレートをチェックインしたときに機能しました渡されるnullのためにメソッドの上に "@ register.filter"を使用します。私は最後の2行は必要なかった –
プログラマは余分な単語が好きではありません。試してみてください:
{% if str in strings %}
TemplateSyntaxError、 "'文が正しくフォーマットされていない場合"を発生させます。 –
@Will Merydith、@Greg Hewgill:djnago 1.2でのみ動作します。http://docs.djangoproject.com/en/dev/releases/1.2/#smart-if-tag – mouad
この質問に賞金を追加するにはどうすればよいですか? –