9

私は違いが何であるかは分かりませんが、両方が働いているようです。私は周りをグーグルで探検し、彼らはほとんど同じことだと思われる。 ちょうど好奇心から外れています。どちらがフィールドで使用していますか?{%load static%}と{%load staticfiles%}:どちらが優先されますか?

私はそれを読んでいますが、それはいつ使用するのか、現場のどの人が使用するのかはまだ分かりません。私の両方のために私の作品。私はそれが静的フォルダを読み込んでいると思ったが、それも静的ファイルのために働く... -

+3

[{%load staticfiles%}と{%load static%}の違いは何ですか?](http://stackoverflow.com/questions/24238496/what-is-the-difference-between-load -staticfiles-and-load-static) – dyeray

+1

@dyerayええ私はそれを読んでいますが、それはいつ使用するのか、現場のどの人が使うのかはまだ分かりません。私の両方のために私の作品。最初は静的フォルダを読み込んでいると思っていましたが、staticfilesでも使えます... –

答えて

18

{% load staticfiles %}staticは、組み込みのよりも多くの機能を持っているcontribアプリケーションからtemplatetagをロードするdjango.core.static

最も重要な違いは、リゾルバがハッシュなどを管理できるため、staticfilesがCDNに保存されているファイルを管理できることです。 core.staticSTATIC_URLは、ファイルを処理している場合は不十分です(リリース間でキャッシュをクリアするためにmd5ハッシュを追加するなど)。

この違いは、非ローカルストレージファイルの管理がDjangoのコアパッケージに含まれているわけではありませんが、多くの開発者が公式のcontribパッケージとして実装するのにはまだ有用でした。したがって、staticfilesを使い始める場合は、テンプレート内で毎回それを使用する必要があります。しかし、たとえばusing Media classesのようないくつかの問題が発生する可能性があります。そのため、2つのテンプレートタグを1つにマージし、開発者のdjango.contrib.staticfilesINSTALLED_APPSであるかどうかにかかわらず、異なる動作を使用することが決定されました。 Django 1.10 and onwardsから

(もsee ticket in Django tracker)、{% load static %}は(oherwiseデフォルトの動作を保つ)を起動した場合、内部staticfilesを使用するように起こっている、とのcontribパッケージでtemplatetagは、混乱を避けるために廃止される予定です。

TL;ジャンゴ1.10前DR

  • staticfilesstaticができない(またはしない容易)非ローカルストレージを管理することができるtemplatetagsをロードします。
  • Django 1.10contrib.staticfilesアプリはまだ存在しますが、そのテンプレートタグは削除されますが、{% static %}テンプレートタグのみが残ります。
  • からDjango 2.0(私が信じる):{% load staticfiles %}が削除されました。今の

、あなたは関連のcontribアプリを使用(そして、あなたがそれを使用している理由を知っている)場合はDjango 1.10までstaticfiles templatetagsを使用し、それ以外の場合は単にstaticを使用しています。

関連する問題