やあ、
タイムベースにいくつかの条件を追加する必要があります。現在、データベースから取得する時間の値は2012-09-05 05:05:05のようであり、これに24時間を追加する必要があります。
元の時間には「hi」を表示する必要があり、24時間後にテンプレートファイルに「hello」を表示する必要があるなど、タイムベースでさまざまなコンテンツを表示する必要があります。
これどうやってするの?私を助けてください。
安価なフィルターとしてこれを行うこともできます。
from django import template
register = template.Library()
@register.filter()
def is_at_least_24_hours_ago(value):
import datetime
original_date_plus_24 = value + datetime.timedelta(hours=24)
right_now = datetime.datetime.now()
if right_now >= original_date_plus_24:
return True
return False
次に、テンプレートで:
{% if object_date|is_at_least_24_hours_ago %}
// It's 24 hours later
{% else %}
// It's not
{% endif %}
おそらくカスタム テンプレート タグが良い方法でしょう: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters。deltaDays
パラメータを使用して独自のタグを実装できます{{ date|deltaDays:1 }}
。
これは日を追加する方法のサンプルです。
import datetime
b = var_name + datetime.timedelta(0,3) # days, seconds
or
datetime.timedelta(days=1)
ビューを介して値を渡し、テンプレートで if ステートメントを使用します