1

やあ、

タイムベースにいくつかの条件を追加する必要があります。現在、データベースから取得する時間の値は2012-09-05 05:05:05のようであり、これに24時間を追加する必要があります。

元の時間には「hi」を表示する必要があり、24時間後にテンプレートファイルに「hello」を表示する必要があるなど、タイムベースでさまざまなコンテンツを表示する必要があります。

これどうやってするの?私を助けてください。

4

3 に答える 3

2

安価なフィルターとしてこれを行うこともできます。

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 %}
于 2013-02-25T07:29:47.110 に答える
2

おそらくカスタム テンプレート タグが良い方法でしょう: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filtersdeltaDaysパラメータを使用して独自のタグを実装できます{{ date|deltaDays:1 }}

于 2013-02-25T07:17:04.597 に答える
1

これは日を追加する方法のサンプルです。

import datetime
b = var_name + datetime.timedelta(0,3) # days, seconds

or 

datetime.timedelta(days=1)

ビューを介して値を渡し、テンプレートで if ステートメントを使用します

于 2013-02-25T07:07:41.833 に答える