Pythonのテスト開発ジャンゴ-68.templatesテンプレートタグ{%用%}

序文

このようないくつかのタグ:{%タグは%}、例えば、開始タグと終了する必要があります:{%タグ%} ...タグの内容... {%のENDTAGの%}、コンテンツオブジェクトを出力するためのほぼ円形のリスト。

ラベルの

{%の%}私たちはシーケンスを反復することを可能にします。声明や状況のためのPythonが同様のループ構文は、イテレータ内の項目のためです。
各サイクルは、テンプレートは、{%ENDFOR%}との間のすべて{%用%}をレンダリングします。

たとえば、テンプレートを書きnavigationbar.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

{% for name in name_list %}

<h1>
    <span>{{ name.type }}</span>
</h1>
{% endfor %}

</body>
</html>

ビュービュー

埋めるためにテンプレートの内容の一覧を表示する機能

from django.shortcuts import render
# 上海悠悠,QQ交流群:750815713

def navlist(request):
    name_list = [
        {
            "type": "科普读物",
            "value": ["宇宙知识", "百科知识", "科学世界", "生物世界"]
        },
        {
            "type": "计算机/网络",
            "value": ["Java", "Python", "C语言"]
        },
        {
            "type": "建筑",
            "value": ["标准/规范", "室内设计", "建筑科学", "建筑文化"]
        }
    ]

    context = {"name_list": name_list}

    return render(request, "navigationbar.html", context=context)

表示を実行した後

空のラベル

以下のために...空... enddor:グループに与えられ、その後オプション句{%空%}、とを有するラベルのそれは、デフォルト値に見出されるときに空またはありません

<body>

{% for name in name_list %}

<h1>
    <span>{{ name.type }}</span>
</h1>
{% empty %}
    <span> 无标签 </span>
{% endfor %}

</body>

値NAME_LIST空、空の値が表示される:ラベルなしありません

from django.shortcuts import render

def navlist(request):
    context = {"name_list":[]}
    return render(request, "navigationbar.html", context=context)

forloop内部テンプレート変数

内側のループでは{%の%}、テンプレートはforloopという名前の変数にアクセスすることができます。この変数は、属性の数を持って、あなたはそれらのプロセスを循環情報の一部を学ぶことができます。

  • forloop.counter:サイクル数を表します。1に等しいforloop.counter初めからこの属性の値は、そうループを介して初めて。
  • forloop.counter0:forloop.counter0とforloop.counter似ていますが、ゼロから始めました。場合最初のサイクル、0の値。
  • forloop.revcounter:forloop.revcounter値は、残りのサイクル内の要素の数を表す整数です。最初のサイクルでは、シーケンス内forloop.revcounter要素の総数の値が横断するとき。ときに1の値forloop.revcounter最後のサイクル、。
  • forloop.revcounter0:forloop.revcounter0とforloop.revcounter似ていますが、インデックスはゼロベースです。最初のサイクルは、値forloop.revcounter0は、配列マイナス1の要素の数である場合。ときに最後のサイクル、ゼロのforloop.revcounter0値。
  • forloop.first:forloop.firstブール値、Trueにループを通る最初の時間です。最初の要素は特別な処理を必要とするときに便利です
  • forloop.last:forloop.lastがTrueにループをブール値、最後の時間です。それは、多くの場合、リンクのパイプ記号のセットの間に配置されています。
  • forloop.parentloop:ネストされたループ、forloop.parentloop基準サイクルの親オブジェクトforloop

例えばforloop.lastするには、各リンクの後にパイプ記号を入れて、最後の1を入れていません

<body>
{% for name in name_list %}

<h1>
    <span>{{ name.type }}</span>
</h1>
    {% for n in name.value %}
        <span>
        {{ n }}{% if not forloop.last %} | {% endif %}
        </span>
    {% endfor %}

{% empty %}
    <span> 无标签 </span>
{% endfor %}

</body>

ディスプレイ

おすすめ

転載: www.cnblogs.com/yoyoketang/p/11801061.html
おすすめ