2010-12-20 20 views
1

Djangoテンプレートの日付を比較するにはどうすればよいですか?私はいくつかの可能な道を考えた:Djangoテンプレート:将来の日付のみを表示する

  • テンプレート
  • で比較すべき状況で今日の日付を送る
  • 私自身のテンプレートタグを作成し、それが中にいた場合にのみ、日付を渡すとビュー内のいくつかのロジックを持っています未来

最後のオプションは簡単ですが、私はむしろテンプレート内の表示ロジックをビューよりも残しています。私はテンプレートの文脈で今日のようにとても些細なようなものを渡すことも望まない。

おそらく、誰かが別の選択肢を持っているか、私が上記のオプションの1つの実装を共有して、なぜそのルートに行くことにしたのかが分かります。

答えて

6

私はテンプレートフィルタと一緒に行きたい:

from datetime import date 
... 
@register.filter 
def future_dates_only(the_date): 
    if the_date > date.today(): 
     return the_date 
    else: 
     return None 

は、その後、あなたのビューでのようなものです:

{{specialdate|future_dates_only|date:"d M Y"}} 
2

はIMOビューまたはで物事のようなものをやってクリーナーですヘルパーモジュールを呼び出し、それをコンテキストに渡します。テンプレートは、ロジックがなくても、あるいはできるだけ残されたほうが良い(これはMVCのパターンです)。

関連する問題