timestampはブラウザが画像をキャッシュしないようにするために使用されるもの

2024年6月23日

timestampはブラウザが画像をキャッシュしないようにするために使用されるもので、ブラウザは同じURLの画像を再ダウンロードする必要があると判断します。これはキャッシュの更新をトリガーするための手段です。

一般的な方法として、ビューでtimestampを計算し、それをテンプレートに渡すことがあります。以下は、その例です:

  1. views.pyでtimestampを計算してテンプレートに渡す:
python
from django.shortcuts import render
from datetime import datetime

def your_view(request):
    # 他の処理...

    timestamp = int(datetime.now().timestamp())

    return render(request, 'your_template.html', {'timestamp': timestamp, 'items': your_items_data})
  1. テンプレートでtimestampを利用:
html
<td style="text-align: center;">
    {% if item.smallImage1 %}
        <img src="{{ item.smallImage1 }}?timestamp={{ timestamp }}" alt="{{ item.item_name }}">
    {% else %}
        <img src="{% static 'path/to/default/image.jpg' %}" alt="Default Image">
    {% endif %}
</td>

このようにして、timestampをビューで計算し、それをテンプレートに渡すことで、画像のURLにtimestampを追加できます。これにより、ブラウザは画像を新しいものとして扱い、キャッシュを更新します。

未分類

Posted by ぼっち