違いはわかりませんが、どちらも機能しているようです。私はグーグルで調べましたが、それらはほとんど同じもののようです。好奇心から、人々はフィールドでどちらを使用しますか?
私はそれを読みましたが、いつどれを使用するか、現場の人々がどれを使用するかはまだわかりません. 私はそれらの両方で機能します。最初は静的フォルダーをロードしていると思っていましたが、静的ファイルでも機能します... –</p>
違いはわかりませんが、どちらも機能しているようです。私はグーグルで調べましたが、それらはほとんど同じもののようです。好奇心から、人々はフィールドでどちらを使用しますか?
私はそれを読みましたが、いつどれを使用するか、現場の人々がどれを使用するかはまだわかりません. 私はそれらの両方で機能します。最初は静的フォルダーをロードしていると思っていましたが、静的ファイルでも機能します... –</p>
今のところ (Django 1.9 以前)は、組み込みの よりも多くの機能を持つ contrib アプリから templatetag を{% load staticfiles %}
読み込みます。static
django.core.static
最も重要な違いはstaticfiles
、たとえばリゾルバーがハッシュを管理できるため、CDN に保存されているファイルを管理できることです。ファイルを処理している場合は、静的なファイル名にcore.static
追加するだけでは不十分です (たとえば、リリース間でキャッシュをクリアするために md5 ハッシュを追加する)STATIC_URL
この違いは、非ローカル ストレージ ファイルの管理が Django のコア パッケージに含まれる専用のものではなく、公式の contrib パッケージとして実装されることで多くの開発者にとって有用であったという事実によるものです。したがって、 を使い始めた場合staticfiles
は、テンプレートのすべてで使用することを覚えておく必要がありました。ただし、クラスを使用Media
する場合など、いくつかの問題が発生する可能性があるため、これら2つのテンプレートタグを1つにマージし、開発者が持っているかどうかに関係なく異なる動作を使用することが決定されましdjango.contrib.staticfiles
たINSTALLED_APPS
.
Django 1.10 以降( Django tracker のチケットも参照) は、有効化されている場合は内部的{% load static %}
に使用され(それ以外の場合はデフォルトの動作を維持します)、contrib パッケージの templatetag は混乱を避けるために廃止されます。staticfiles
TL;DR
staticfiles
非ローカル ストレージを管理static
できない (または容易ではない) テンプレートタグをロードします。contrib.staticfiles
app はまだ存在しますが、その templatetags は削除され、{% static %}
templatetags のみが残ります。{% load staticfiles %}
は削除されました。今のところ、staticfiles
Django 1.10 まで関連する contrib アプリを使用している場合 (そしてなぜそれを使用しているかがわかっている場合) は templatetags を使用し、それ以外の場合はstatic
.