ホームページ  >  記事  >  ウェブフロントエンド  >  1 行に 2 つある場合に Django テンプレートのループ変数

を制御する方法

1 行に 2 つある場合に Django テンプレートのループ変数

を制御する方法
WBOY
WBOYオリジナル
2016-08-04 08:53:141865ブラウズ

2016-8-3 水曜日

プロジェクトの作業中に発生した問題:

各 div はループ変数によって出力されます:

{% for key,value in formextenddetail %}


{{ key }}< ;/div>



{% endfor %}

しかし、1行に2つのdivが必要なので、

を使用してください

...

こんな感じ

私はフロントエンドを担当しているため、ビューにあまり詳しくありません。テンプレートで直接制御したいのですが、調べたところ、乗算、除算、mod 計算を直接使用する必要がないことがわかりました。恥ずかしいです。

参考記事:http://blog.csdn.net/rain_qingtian/article/details/41076151

わかりやすい、Django テンプレートの追加:

{{ value|add:10}}

value=5 の場合、15 が返されます:

{{value|add:-10}}

value=5 の場合、-5 が返されます。これは、負の数を加算することを意味します。

{%  widthratio 5 1 100 %}
上記のコードの意味: 5/1 *100、500 を返す、widthratio には 3 つのパラメーターが必要、パラメーター 1/パラメーター 2 * パラメーター 3 を使用するため、乗算を実行したい場合は、パラメーター 2 = 1 を設定するだけで Django テンプレートを実行できます。部門

上記のコードは、5/100*1、0.05 を返し、3 番目のパラメータを 1 に設定することを意味します。

しかし、これらのメソッドは剰余の除算に使用するのが非常に面倒です。

解決策: タグで分割可能!

次のように、Django の divisibleby タグを使用して実装します。

{ソマリスト内の各%}

{% if forloop.counter|割り切れる:2 %}

{% その他 %}

{% endif %}

{% % 終了}

divisibleby タグの意味は、次のパラメータを使用してタグを削除することです。例外はすべて True であり、それ以外の場合は False です。

つまり、私のコードは次のように変更されました:

{%  widthratio 5 100 1 %}

{% for key,value in formextenddetail %}
{% if forloop.counter|divisibleby:'2' %}
< td
style="width: 50%" >

{{ key } }

{{ value }}






{% else %}


{% endif %}

{% endfor %}


{{ key }}

{{ value }}





この解決策は、線を変更したり、スタイルを変更したりする場合にも使用できます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:css3フィルタリング効果次の記事:css3フィルタリング効果

関連記事

続きを見る