私はこのコードを持っています
{% for account in object_list %}
<tr>
{% for field, value in book.get_fields %}
<th>{{ field.verbose_name }}</th>
{% endfor %}
</tr>
{{ break }}
{% endfor %}
最初の反復後にforループを解除したい。休憩が機能していません
Djangoテンプレートシステムにはbreak
がありません。 Djangoテンプレートシステムはpythonでプログラミングされていませんが、 独自の言語 でプログラミングされています。
何をする必要があるかによって、 this question が役に立つかもしれません。そうでない場合は、唯一のアカウントを置くだけですあなたは[〜#〜] html [〜#〜]でRequestContext
の特別なフィールドに印刷しようとしています。
スライスを使用して目標を達成する必要があると思います
{% for account in object_list|slice:":1" %}
Breakステートメントは使用できませんが、htmlに印刷しないことを選択できます。これは最善の解決策ではありませんが、使用できます。私は次のものを使用します。
{%for tumbnail in image %}
{%if tumbnail.object_id == element.id %}
<img src="/media/{{ tumbnail.image }}" class="tr_all_hover"alt="">
{{ "<!--" }}
{%endif%}
{%endfor%}
{{ "-->" }}
基本的にブラウザ上ではこのように見えます。 http://i.stack.imgur.com/MPbR3.jpg
この場合、forloop.counter == 1かどうか、またはforloop.firstかどうかを確認して、その最初の項目を単に印刷できます。
{% for account in object_list %}
{% if forloop.first %}
<tr>
{% for field, value in book.get_fields %}
<th>{{ field.verbose_name }}</th>
{% endfor %}
</tr>
{% endif %}
{% endfor %}
あなたはDjangoテンプレートシステムfor javascript for loopを内部ループとして使用でき、次のようにbreakを使用できます。
for(var i=0;i<1;i++){
{% for owner in Owner %}
id = "{{owner.id}}";
if(id == pk1){
f="{{owner.flat}}";
break;
}
{% endfor %}
}
私は条件でこれを行う方法を見つけました。くてハックですが、動作します(私にとって)。 first
はOPが望んだものですが、これは実際の質問により密接に答えます。
これを考えると:
obj = {
'children': [
{ 'possessions' : { 'toys': [] } },
{ 'possessions' : { 'toys': ['train'] } }
{ 'possessions' : { 'toys': ['train', 'ball'] } }
]
}
私のオブジェクトがおもちゃの所持を持つ子供を持っているかどうかを知りたかった。
if ([child for child in obj.children if child.possessions.toys]):
# Whatever
私のアプローチは、 regroup
を使用して、基準に一致する、または一致しない候補のセットを作成することでした。
{% regroup obj.children by possessions.toys|length_is:"0" as by_toys %}
{% for check in by_toys %}{% if check.grouper == False %}
Whatever
{% endif %}{% endfor %}
regroup
は、本質的に次の新しいオブジェクトを作成します。
[
{ 'grouper': '', 'list': [/*...*/] },
{ 'grouper': True, 'list': [/*...*/] },
{ 'grouper': False, 'list': [/*...*/] }
]
length_is:"0"
は、リストに最大3つの要素があり、grouper
がTrue
またはFalse
または''
であることを確認します。次に、リストを反復処理し、False
値を確認します。
if
はヒットしません。False
grouper
のないリストになります。False
grouper
のリストになります。False
とTrue
grouper
sのリストになります。