2016-09-15 27 views
0

私はif文で比較する必要があるテンプレートに2つの日付があります。テンプレート内の日付の比較Django

日付1あるデータ要素の作成フィールドから{{endjob.created |日付:「はYmd」}}アレイからのIF 2016年9月12日

日付2として表示される{{pay_period.periods .0.0}} 2016-09-04

したがって、私はDate1> = Date2の場合にのみ情報を表示するように依頼しようとしていますが、データはありません。

は、あなたがDjangoの

にテンプレートで日付を衝突する方法で私を助けることができるこれは私のコードです:

<tbody>  
{% for endjob in endjob %} 
     {% if endjob.created|date:"Y-m-d" >= pay_period.periods.0.0 %} 
      <tr> 
      <td><a href="{{ endjob.get_absolute_url }}" title="Goto Form">{{ endjob.event.name }}</a><br /></td> 
      <td>{{ endjob.event.job_no}} <br /></td> 
      <td>{{ endjob.event.job_type}} <br /></td> 
      <td>{{ endjob.code }} <br /></td> 
      <td>{{ endjob.crewid }}<br /></td> 
      <td>{{ endjob.workers }}<br /></td> 
      <td>{{ endjob.created|user_tz:user|date:"M j, Y" }}<br /></td> 
      </tr> 
     {% endif %} 
{% endfor %} 

答えて

0

あなたはおそらくあなたがいる理由である2つの異なるデータタイプを比較しています何も得られない。 endjob.created|date:"Y-m-d"を実行すると、endjob.createdが文字列に変換されます。はい、{{ pay_period.periods.0.0 }}が文字列 '2016-09-04'として表示されます。それが{{ }}のことです。ただし、式endjob.created|date:"Y-m-d" >= pay_period.periods.0.0では、元のデータ型の文字列VSをpay_period.periods.0.0と比較しています。

これを解決するには、比較の際にデータ型が一致するようにしてください。あなたはおそらくendjob.created|date:"Y-m-d" >= pay_period.periods.0.0|date:"Y-m-d"で逃げることができますが、私はそれをお勧めしません。このようにしなければならない非常に良い理由がない限り、テンプレートレベル以外の場所で比較を行い、ブール値を渡したり、ブール値属性(so)を呼び出すことをお勧めします。